-
Gebiet der
Erfindung
-
Die
vorliegende Anmeldung bezieht sich im Allgemeinen auf das Gebiet
von einer auf einer Dateneinheit basierenden Kommunikation in einer
Hierarchie von Kommunikationsprotokoll-Schichten, und genauer gesagt auf ein
Verfahren und eine Vorrichtung zum Bearbeiten von empfangenen Dateneinheiten
an einem Empfangs-Peer eines vorbestimmten Protokolls bei einer
vorgegebenen Schicht.
-
Hintergrund
der Erfindung
-
Das
Konzept von einer auf einer Dateneinheit basierenden Kommunikation
in einer Hierarchie von Protokollschichten ist im Stand der Technik
bekannt. Bei solchen Systemen werden Daten, welche über eine
Verbindung zu senden sind, in eine Mehrzahl von Dateneinheiten eingeteilt,
welche durch eine Hierarchie von Protokollschichten passiert werden, wobei
jede Schicht für
einen vorbestimmten Aspekt der Kommunikation verantwortlich ist.
Beispielsweise beschreibt das OSI-Modell eine solche Hierarchie von
Schichten. Es ist zwar zu erwähnen,
dass die Unterteilungen, in welche eine Datenmenge unterteilt wird,
manchmal unterschiedliche Namen annehmen, wie beispielsweise eine
Protokoll-Dateneinheit (PDU), Dienst-Dateneinheit (SDU), Paket, Rahmen, Zelle,
Segment, usw., und zwar in Abhängigkeit
vom spezifischen Protokoll oder der einbezogenen Technologie, und
aus Gründen
der vorliegenden Beschreibung, wird der Ausdruck "Dateneinheit" im Allgemeinen dazu
verwendet, um sich auf jegliche solche Unterteilung von Daten zu
beziehen.
-
Ein
schematisches Beispiel der Verarbeitung von Daten bei einer vorgegebenen
Schicht in einer Protokoll-Hierarchie wird auf Basis von 2 erläutert. Bei
dem Beispiel von 2 ist eine Verarbeitung bei
einer Schicht 2 (L2) oder Verbindungsschicht gezeigt. Die
Verbindungsschicht ist eine Schicht, welche zur Übertragung über eine Verbindung unter einer
möglichen
Mehrzahl von Verbindungen in einer Kommunikation zwischen zwei Endpunkten
verantwortlich ist. Bei dem Beispiel von 2 werden
an der Sendeseite so genannte Schicht 2 (L2) Dienst-Dateneinheiten
(SDU) in L2 Protokoll-Dateneinheiten
(PDU) verarbeitet und an einen Empfänger gesendet. Es ist zu erwähnen, dass
der Ausdruck Dienst-Dateneinheit
(SDU) für
Dateneinheiten, welche bei einer vorgegebenen Schicht von oben (an
der Sendeseite) empfangen werden und durch die vorgegebene Schicht
nach oben (an der Empfangsseite) freigegeben werden, und Protokoll-Dateneinheit (PDU)
für Dateneinheiten,
welche an der vorgegebenen Schicht übertragen werden, bei der vorliegenden Anmeldung
dazu verwendet werden, um besser zwischen den jeweiligen Dateneinheiten
zu unterscheiden. Eine L2 SDU kann beispielsweise eine L3 PDU sein.
Jedoch kann die in 2 gezeigte L2-Schicht ebenfalls
eine Unterschicht von einer größeren Schicht
sein, sodass die L2 SDU dann eine Dateneinheit einer höheren Unterschicht
sein wird. Eine SDU kann ebenfalls als eine Dateneinheit einer höheren Schicht
bezeichnet werden, wobei vorgesehen ist, dass sich der Ausdruck "Schicht" allgemein auf gesamte
Schichten, Unterschichten, Gruppen von Schichten oder Unterschichten,
oder jegliche Kombination daraus, bezieht.
-
2 zeigt
einen so genannten Sende-Peer 20 und Empfangs-Peer 10.
Ein Peer kann beispielsweise eine Funknetzwerk-Steuerung, eine Basisstation oder eine
Mobileinheit in einem Drahtlos-Übertragungssystem
sein. Der Sende-Peer 20 empfängt L2-Dienst-Dateneinheiten
von der höheren
Schicht 3 (beispielsweise die Netzwerkschicht, welche die Route
zwischen Sende- und Empfangsstationen aufbaut, d. h. zum Aufbauen
eines Netzwerkes von Verbindungen verantwortlich ist), und verarbeitet
diese L2-Dienst-Dateneinheiten in einer Einheit 22. Die spezifische
Verarbeitung wird vom spezifischen Protokoll abhängen, welches bei L2 implementiert
ist. Es ist beispielsweise bekannt, die Dateneinheiten einer höheren Schicht
einfach zu verkapseln, was bedeutet, dass eine L2 SDU genommen wird
und sie in eine Nutzlast-Sektion von einer L2 PDU gesetzt wird,
welche neben dieser Nutzlast-Sektion ebenfalls eine Steuerinformations-Sektion,
wie beispielsweise einen Header, enthält. Die Verarbeitung in der
Einheit 22 kann ebenfalls eine Segmentierung von der L2 SDU
in eine Mehrzahl von L2 PDUs enthalten, d. h., dass die Daten, welche
eine L2 SDU ausmachen, in die Nutzlast-Sektionen von einer Mehrzahl
von L2. PDUs oder einer Verkettung gesetzt werden. Die Konzepte
von einer Verkapselung, Verkettung und Segmentierung sind im Stand
der Technik bekannt, und müssen
daher nicht detaillierter beschrieben werden. Die eine oder die
mehreren L2 PDUs werden dann durch eine Sende-Einheit 21 bearbeitet
und an die unteren Schichten passiert, welche schematisch durch
Pfeil 32 dargestellt sind. Am Empfangs-Peer 10 werden
die L2 PDUs durch eine Empfangs-Einheit 11 im Empfangs-Peer 10 empfangen.
Der Empfangs-Peer 10 und der Sende-Peer 20 sind
durch eine virtuelle Verbindung 31 verbunden, welche gemäß dem Kommunikationsprotokoll
bei L2 eingestellt ist. Im Allgemeinen wird der Empfangs-Peer 10 die L2
PDUs empfangen und verarbeiten, um letztendlich L2 SDUs bereitzustellen,
welche nach oben an die höhere
Schicht L3 freigegeben werden.
-
Um
eine zuverlässige
Datenübertragung
abzusichern, kann der L2 PDU-Empfänger 11 eine Fehlererfassungsprozedur
durchführen,
und zu bestimmen, ob eine empfangene L2 PDU beschädigt ist oder
nicht. Der Ausdruck "beschädigt" wird dazu verwendet,
um jegliche Änderungen
zu beschreiben, welche in einer Dateneinheit entlang ihrer Übertragung
durch die unteren Schichten 32 aufgetreten sind, welches
zu der Kopie von einer vorgegebenen L2 PDU führt, welche am Empfangs-Peer 10 empfangen
wird, welche nicht mit der Kopie identisch ist, welche durch den
Sende-Peer 20 gesendet wird. Eine solche Beschädigung kann
beispielsweise die Änderung
von einem oder mehreren Bits in einer solchen Dateneinheit aufgrund
von Fehlern an der physikalischen Schicht enthalten. Dann kann in
Ansprechen auf eine solche Fehlererfassung die weitere Bearbeitung
von solchen Dateneinheiten durchgeführt werden, beispielsweise
ist es möglich,
dass alle beschädigten
L2 PDUs einfach verworfen werden, ohne dass jegliche weitere Aktion
vorgenommen wird, oder dass sie verworfen werden und eine entsprechende
Anzeige von einer Beschädigung
zum Sende-Peer 20 zurückgesendet
wird, beispielsweise in der Form einer automatischen Neuübertragungs-Anfrage
(ARQ).
-
2 zeigt
ebenfalls eine Aufwärts-Freigabe-Bearbeitungsprozedur 12,
welche dazu angeordnet ist, um die Daten von empfangenen L2 PDUs
zu verarbeiten, um L2 SDUs bereitzustellen. Wenn beispielsweise
die L2-Verarbeitung in Einheit 22 des Sende-Peers 20 eine
einfache Verkapselung enthält, dann
kann die Aufwärts-Freigabe-Bearbeitung
von Einheit 12 im Empfangs-Peer lediglich eine Entfernung
dieser Verkapselung enthalten, d. h., eine Isolierung der Nutzlast-Sektion von der L2
PDU, um die darin enthaltene L2 SDU bereitzustellen, und eine Passierung
derer nach oben. Wenn die L2-Verarbeitung in Einheit 22 komplizierter
ist, wenn sie beispielsweise eine Segmentierung enthält, dann
wird die Aufwärts-Freigabe-Bearbeitung
von Einheit 12 den entsprechend inversen Betrieb durchführen, und zwar
beispielsweise L2 SDUs aus den Inhalten der Nutzlast-Sektionen von
den empfangenen L2 PDUs aufstellen.
-
Es
ist zu erwähnen,
dass, obwohl die oben beschriebene grundlegende Prozedur in Verbindung mit
Prozessen an der Verbindungsschicht beschrieben wurde, eine solche
Prozedur von einer Datenbehandlung ebenfalls an weiteren Schichten
auftreten kann, wie beispielsweise die Transportschicht, die Netzwerkschicht
und die physikalische Schicht. Es ist ebenfalls zu erwähnen, dass
sich, wie bereits erwähnt,
der Ausdruck "Schicht" über diesen Text hinweg, auf
Implementierungen von einer einzelnen Schicht, Gruppen von Schichten
oder Unterschichten oder jegliche Kombination von Schichten und
Unterschichten beziehen kann.
-
Im
Allgemeinen, wie bereits erwähnt,
wird, wenn der Empfangs-Peer
bestimmt, dass die empfangene Dateneinheit beschädigt ist, diese Dateneinheit
verworfen. Die Tatsache, dass eine Dateneinheit beschädigt ist,
wird im Allgemeinen durch eine Untersuchung von einer Redundanzinformation
begründet,
welche einer Dateneinheit hinzugefügt wird, bevor sie gesendet
wird. Beispielsweise ist es bekannt, eine Prüfsumme oder einen CRC (Cyclic
Redundancy Checking)-Code den Bits in einer Dateneinheit hinzuzufügen, und
die Prüfsumme
wird zusammen mit der Dateneinheit in einem Steuerinformationsteil, beispielsweise
der Header, gesendet. Dann kann ein Empfangs-Peer selber die Prüfsumme berechnen und die berechnete
Prüfsumme
mit der Prüfsumme vergleichen,
welche zusammen mit der Dateneinheit gesendet wird, wobei eine Fehlanpassung
eine Anzeige über
eine Beschädigung
ist. Weitere Verfahren zur Anzeige einer Beschädigung sind ebenfalls bekannt,
wie beispielsweise die Verwendung von einer Zuverlässigkeitsinformation
vom Empfangs- oder Kanal-Dekoder in der physikalischen Schicht (oder
allgemein einer unteren Schicht).
-
Um
zu vermeiden, dass eine Beschädigung in
Dateneinheiten auftritt, ist es bekannt, eine so genannte Vorwärts-Fehlerkorrektur (FEC)
anzuwenden. Eine Vorwärts-Fehlerkorrektur beinhaltet,
dass die Sendeseite Maßnahmen
unternimmt, welche die Wahrscheinlichkeit erhöhen, dass keine Beschädigung während einer Übertragung
auftritt und/oder dass eine Beschädigung durch den Empfangs-Peer korrigiert
werden kann. Die FEC ist im Stand der Technik allgemein bekannt
und muss hier nicht näher erläutert werden.
-
Zusätzlich oder
anstelle der FEC, kann der oben erwähnte Mechanismus der ARQ dazu
verwendet werden, um die korrekte Übertragung von einer Dateneinheit
zu garantieren. Bei einem ARQ-Mechanismus wird nämlich ein Empfangs-Peer damit
fortfahren, geeignete automatische Neuübertragungs-Anfragemeldungen an einen Sende-Peer
zu senden, bis er eine unbeschädigte
Dateneinheit empfangen hat. Dies ist im Stand der Technik ebenfalls
bekannt und braucht hier nicht näher
erläutert
zu werden.
-
Daraus
folgend können
bei Kommunikationsnetzwerken unterschiedliche Modi einer Verbindungskonfiguration
durch eine Schicht an eine Anwendung, beispielsweise ein so genannter
bestätigter
Modus (AM), ein unbestätigter
Modus (UM) und ein Transparent-Modus (TM) in einem Verbindungsschicht
(L2)-Verkehr, bereitgestellt werden.
-
Zur
Fehlersteuerung beruhen der TM und UM lediglich auf FEC, während der
AM eine Kombination aus FEC und Rückfehler-Steuerung mittels Fehlererfassung und
ARQ anwendet. Der Unterschied zwischen UM und TM ist, dass TM keinerlei Protokoll-Header
hinzufügt.
Dies ist lediglich im Kontext von bestimmten Protokollen möglich, in
welchen das genaue Format von Benutzerdaten bekannt ist, und ein
typisches Beispiel ist eine schaltungsvermittelte Sprachübertragung
im Global System for Mobil Communication (GSM). Sowohl UM als auch
AM fügen
einen Protokoll-Header hinzu.
-
Im
Allgemeinen ist eine Verbindungsschicht gemäß der Klasse von Daten, welche übertragen werden
müssen,
konfiguriert. Für
den Echtzeit- und Streaming-Verkehr, hat der Inhalt lediglich eine
temporäre
Relevanz, und eine Sprach-/Video-Dateneinheit, welche am letztendlichen
Empfänger
zu spät
ankommt, wird lediglich verworfen. Weitere Verkehrstypen erfordern
eine exakte Übertragung
von Daten, wie beispielsweise im Falle eines Datei-Transfers, sodass
ARQ dazu verwendet wird, um eine korrekte Übertragung zu garantieren.
Solche Typen von Verkehr werden manchmal ebenfalls als Interaktiv-
und Bestleistungs-Verkehr
bezeichnet.
-
Im
Allgemeinen, mit Bezug auf die unterschiedlichen Typen von Verkehr
und die unterschiedlichen Modi von Übertragung, sind die folgenden
Verbindungskonfigurationen gewöhnlich.
Echtzeit-Verkehr
verwendet UM oder TM, Streaming-Verkehr kann AM, UM oder TM anwenden,
wohingegen Interaktiv- und Bestleistungs-Verkehr den AM verwendet. Ein allgemeines
Problem von UM und TM ist, dass das FEC so zu konfigurieren ist,
um eine ausreichende (mittlere) Verbindungsqualität sogar
für schlechte Verbindungsbedingungen
zu erreichen. Daher, wenn die Übertragungsbedingungen
ausreichend oder gut sind, ist eine Verbindung im Allgemeinen "übergeschützt", was bedeutet, dass Ressourcen verschwendet
werden.
-
Daraus
folgend, wurde ein neues Verfahren vorgeschlagen, welches beispielsweise
im Kontext des WCDMA Funkverbindungssteuerung (LRC)-Protokoll als "SDU-Verwerfung" bezeichnet wird,
siehe hierzu beispielsweise 3GPP TS 25.322, V4.3.0 (2001, 12). Dieses
Verfahren wendet einen AM-Modus an, welcher lediglich innerhalb
eines begrenzten Zeitintervalls, in welchem ARQ angewendet wird,
zuständig
ist. Mit anderen Worten, werden automatische Wiederholungsanfragen
für eine
vorgegebene Dateneinheit nicht unbegrenzt gesendet, wenn keine unbeschädigte Dateneinheit
ankommt. Ferner, wenn keine unbeschädigte Dateneinheit innerhalb
einer vorbestimmten Zeit oder nach einer vorbestimmten Anzahl von
Neuübertragungs-Anfragen ankommt, wird
das Senden von Neuübertragungs-Anfragen
für diese
vorgegebene Dateneinheit beendet.
-
Indem
ein solcher Mechanismus verwendet wird, kann eine bessere Balance
zwischen FEC und ARQ erreicht werden, weil das FEC auf ausreichende oder
gute Kanalbedingungen zugeschnitten werden kann, d. h., um weniger
Ressourcen zu verwenden, und während
schlechter Kanalbedingungen wird eine zusätzliche Qualität durch
das halbzuverlässige
oder begrenzte ARQ bereitgestellt.
-
Echtzeit-
oder Streaming-Anwendungen werden im Allgemeinen ohne ARQ im Transportprotokoll,
beispielsweise mit dem bekannten Benutzer-Datagramm-Protokoll (UDP),
transportiert. Wie bereits zuvor erwähnt, wird die Verbindungsschicht beim
Transport von Echtzeit- oder Streaming-Verkehr unbeschädigte Dateneinheiten
nach oben passieren, und wird beschädigte Dateneinheiten verwerfen,
wenn sie auf diese höhere
Schicht angewiesen sind, beispielsweise kann sie sich bei der Applikationsschicht
mit den fehlenden Daten befassen. Um die Fehlerverschleierungs-Fähigkeiten
zu unterstützen,
welche manchmal bei höheren
Schichten, beispielsweise die Applikationsschicht, bereitgestellt sind,
wurde vorgeschlagen, ein Protokoll einzuführen, welches UDP-Light genannt
wird, welches eine Fehlertoleranz mit Bezug auf ein Passieren von
beschädigten
Dateneinheiten nach oben erlaubt, wenn die Beschädigung in einer vorbestimmten
Sektion der Dateneinheiten auftritt. Mit anderen Worten, kann UDP-Light
nicht nur implementiert werden, um nicht kategorisch alle empfangenen
Dateneinheiten zu verwerfen, sondern kann es Dateneinheiten erlauben,
welche eine Beschädigung
in der vorbestimmten Sektion haben, nach oben passieren zu werden, wobei
angenommen wird, dass die höheren
Schichten die Fähigkeit
dazu haben, sich mit fehlerbehafteten Daten zu beschäftigen.
Beim UDP-Light wird
die Fehlererfassungsfunktion derart gesteuert, dass die Empfindlichkeit
des Fehlererfassung CRC (Cyclically Redundancy Checking)-Codes geeignet
gewählt wird,
sodass die Verbindungsschicht keinerlei bestimmte Bitfehler erkennt,
und die entsprechenden Daten konsequent nach oben an höhere Schichten passiert
werden.
-
Die
WO 00/60799 beschreibt ein Telekommunikationssystem zum Implementieren
eines halbzuverlässigen
Neuübertragungs-Protokolls, welches sowohl
eine selektive ARQ, Segmentierung und Zusammenstellung von Datenpaketen
verwendet. Das halbzuverlässige
Neuübertragungs-Protokoll
enthält eine
zeitbasierte Ansteuerung von einer Neuübertragungs-Zeitüberschreitung
zur Neuübertragung
von Protokollen, wodurch es ermöglicht
wird, dass die Neuübertragungs-Zeitüberschreitung
unempfindlich auf Schwankungen in der Kanalrate wird. Für jedes empfangene
Datenpaket wird ein Zeitnehmer, welcher die Übertragungszeit des Datenpakets überwacht,
initialisiert. Wenn der Zeitnehmer das Datenpaket verstreichen lässt, wird
dieses Datenpaket im Übertrager
als verworfen markiert, und es wird eine Anfrage an den Empfänger gesendet,
um sicherzustellen, dass Übertragungen,
welche dieses Datenpaket befördern,
im Empfänger
verworfen werden.
-
Die
WO 01/50789 A1 beschreibt ein System, welches eine untere und eine
obere Protokollschicht hat, wobei der Zweck der unteren Schicht
darin liegt, eine an die obere Schicht zu übertragene Dateneinheit aus
einem oder mehreren Segmenten zusammenzusetzen. Es werden ein oder
mehrere Fehler erfasst, welche in den empfangenen Segmenten auftreten.
Gemäß der Offenbarung
der WO 01/50789 A1, kann eine an die obere Schicht zu übertragende Dateneinheit
aus einem oder mehreren Segmenten zusammengesetzt sein, welche einen
oder mehrere Fehler enthalten, wobei eine Information über den
Ort von einem oder mehreren Fehlern ebenfalls an die obere Schicht übertragen
wird.
-
Aufgabe der
vorliegenden Erfindung
-
Es
ist Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren
und eine Vorrichtung zum Bearbeiten von empfangenen Dateneinheiten
an einem Empfangs-Peer eines vorbestimmten Protokolls bei einer
vorgegebenen Schicht bereitzustellen.
-
Zusammenfassung
der Erfindung
-
Diese
Aufgabe wird durch das Verfahren von Anspruch 1 und die Vorrichtung
von Anspruch 25 gelöst.
Vorteilhafte Ausführungsformen
sind in den abhängigen
Ansprüchen
beschrieben.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung, wird eine Fehlererfassungsprozedur bereitgestellt,
welche bestimmt, ob eine empfangene Dateneinheit beschädigt ist
oder nicht, und wenn sie nicht beschädigt ist, wird sie an eine
aufwärts
liegende Freigabe-Prozedur passiert, damit sie in einer Dateneinheit
einer höheren
Schicht verarbeitet wird. Es ist ebenfalls eine Neuübertragungs-Anfrageprozedur
bereitgestellt, um die Neuübertragung von
einer beschädigten
Dateneinheit anzufragen. Es ist zusätzlich eine Dateneinheit-Speicherprozedur bereitgestellt,
um beschädigte,
empfangene Dateneinheiten oder eine Information, anhand der die beschädigte Dateneinheit
der ersten Schicht bestimmt werden kann, zu speichern. Mit anderen
Worten, anstelle dass kategorisch beschädigte Dateneinheiten verworfen
werden, können
diese gespeichert werden. Das Speichern kann in der gleichen Schicht oder
in einer unteren Schicht durchgeführt werden. Ferner ist eine
Dateneinheit-Bereitstellungsprozedur implementiert, welche nachfolgend
auf ein auslösendes
Ereignis zur Beendigung der Neuübertragungs-Anfrageprozedur
für eine
vorgegebene Dateneinheit, eine Dateneinheit für die Bearbeitung einer Prozedur
zur Freigabe nach oben auf Basis von einer oder mehreren gespeicherten
beschädigten
Kopien der vorgegebenen Dateneinheit bereitstellt. Auf diese Weise
wird ein halbzuverlässiger
oder begrenzter AM-Modus bereitgestellt, bei welchem ein beschränktes ARQ-Verfahren
angewendet wird, und es werden beschädigte Daten an dem Moment passiert, bei
welchem der ARQ-Mechanismus seinen Betrieb beendet. Mit anderen
Worten, wenn keine unbeschädigte
Kopie einer Dateneinheit innerhalb der beschränkten Betriebsperiode des ARQ-Mechanismus ankommt,
dann werden Daten nach oben auf Basis von der einen oder von mehreren
beschädigten
Kopien der vorgegebenen Dateneinheit passiert.
-
Die
vorliegende Erfindung ist insbesondere dazu geeignet, um am Streaming-Verkehr
angewendet zu werden, bei welchem die Verzögerung, welche durch das beschränkte ARQ
verursacht wird, akzeptabel ist, und bei welchem bestimmte Fehlerverschleierungs-Fähigkeiten
bei höheren
Schichten erwartet werden können.
Wenn nämlich
entweder Audio oder Video gestreamt wird, wird die empfangene Anwendung
eine bestimmte Menge von Daten puffern, bevor diese einer geeigneten
Darstellungsvorrichtung (wie beispielsweise ein Lautsprecher oder ein
Videoschirm) dargelegt werden, sodass ein bestimmter Verzögerungsgrad
bei der Übertragung
toleriert werden kann.
-
Vorzugsweise
wird die vorliegende Erfindung bei der Verbindungsschicht angewendet,
und weiter bevorzugt an der Verbindungsschicht eines Knotens in
einem Mobilkommunikationssystem. Dort kann sie vorteilhafterweise dazu
verwendet werden, um Dateneinheiten zu bearbeiten, welche über eine
Drahtlos-Verbindung gesendet werden. Beispielsweise kann die Erfindung
im Kontext des Universal Mobile Telephone System (UMTS) verwendet
werden, um Dateneinheiten zu bearbeiten, welche über einen Streaming-Überbringer
gesendet werden. Jedoch ist die Erfindung ebenfalls in einer Vielzahl
von weiteren Drahtlos-Systemen anwendbar, wie beispielsweise GPRS
(General Packet Radio Service) oder WLAN (Wireless Local Area Network).
-
Weitere
Aspekte und Vorteile der vorliegenden Erfindung werden anhand der
folgenden Beschreibung von detaillierten Ausführungsformen deutlich, welche
mit Bezug auf die anliegenden Zeichnungen dazu vorgesehen sind,
um ein besseres Verständnis
der Erfindung bereitzustellen, und um vorteilhafte Details zu beschreiben,
jedoch sind sie nicht dazu vorgesehen, um beschränkend zu wirken.
-
Kurze Beschreibung
der Zeichnungen
-
1 zeigt
ein Ablaufdiagramm von einer Ausführungsform eines Verfahrens
gemäß der vorliegenden
Erfindung;
-
2 zeigt
ein schematisches Blockdiagramm zur Erläuterung der Bearbeitung von
Dateneinheiten an zwei Peers eines Kommunikationsprotokolls bei
einer vorgegebenen Schicht;
-
3 zeigt
ein schematisches Beispiel von einer Dateneinheit;
-
4a und 4b sind
schematische Darstellungen, um Ausführungsformen zu erläutern, welche
Dateneinheiten einer höheren
Schicht aus den Inhalten von empfangenen Dateneinheiten zusammensetzen;
und
-
5 zeigt
ein schematisches Blockdiagramm von einer Ausführungsform einer Vorrichtung gemäß der vorliegenden
Erfindung.
-
Genaue Beschreibung
von Ausführungsformen
-
1 zeigt
ein Ablaufdiagramm eines Verfahrens, welches gemäß der vorliegenden Erfindung bereitgestellt
ist. Das in Verbindung mit 1 beschriebene
Verfahren kann im Kontext des schematisch in 2 gezeigten
Aufbaus implementiert werden. Daraus folgend, ist die vollständige, vorherige Beschreibung
bezüglich 2 hiermit
in der Offenbarung der Ausführungsform
der vorliegenden Erfindung einbezogen.
-
Obwohl
das Verfahren von 1 in Verbindung mit einer Applikation
auf die Verbindungsschicht von einem Kommunikationsknoten, welcher Dateneinheiten
bearbeitet, welche über
eine vorgegebene Verbindung gesendet werden, beschrieben werden
soll, kann das Verfahren der in 1 beschriebenen
Ausführungsform
auf jegliche Schicht angewendet werden, welche Dateneinheiten bearbeitet.
-
In
einem ersten Schritt S1 wird bestimmt, ob eine L2 PDU empfangen
wurde. wenn dies der Fall ist, bestimmt eine Fehlererfassungsprozedur
S2, ob die empfangene L2 PDU beschädigt ist oder nicht. Wie bereits
zuvor erwähnt,
ist der Ausdruck "beschädigt" im Allgemeinen so
zu verstehen, dass er sich auf jegliche Änderung bezieht, welche in
der L2 PDU während
einer Übertragung
auftritt, beispielsweise jegliche Differenz von einem oder von mehreren
Bits in der L2 PDU zwischen der empfangenen L2 PDU und der gesendeten
L2 PDU. Der Zustand der Beschädigung
kann auf jegliche bekannte oder geeignete Art und Weise, beispielsweise
durch ein CRC-Summe Verfahren, bestimmt werden.
-
Wenn
Schritt S2 bestimmt, dass die Dateneinheit nicht beschädigt ist,
verzweigt der Ablauf dann auf eine Prozedur, gemäß derer die empfangene unbeschädigte Dateneinheit
an eine aufwärts
liegende Freigabe-Bearbeitungs-Prozedur S7 passiert wird, welche
die Freigabe von Daten vom empfangenen Peer (beispielsweise der
empfangene Peer 10 von 2) an eine darüber liegende
höhere
Schicht, beispielsweise L3 im Beispiel von 2, behandelt. Wie
bereits zuvor erwähnt,
werden die spezifischen Details der oberen Freigabe-Bearbeitungs-Prozedur von
den spezifischen einbezogenen Protokollen abhängen, und können beispielsweise das einfache Entfernen
von einer Verkapselung von L2 PDUs enthalten, oder können ebenfalls
mehrere komplizierte Schritte einbeziehen, wie beispielsweise der
Zusammenbau von L2 SDUs aus segmentierten L2 PDUs.
-
Andererseits,
wenn die Bestimmung der Fehlererfassungsprozedur S2 derart ist,
dass die empfangene L2 PDU beschädigt
ist, verzweigt der Ablauf dann an eine Dateneinheit-Speicherprozedur S3
und eine Neuübertragungs-Anfrageübertragungsprozedur
S4. Es ist zu erwähnen,
dass, obwohl das Beispiel von 1 anzeigt,
dass die Dateneinheit-Speicherprozedur S3 vor der Neuübertragungs-Anfrageprozedur S4
durchgeführt
wird, dies nicht notwendig ist, da die Reihenfolge ebenfalls umgekehrt
sein kann oder die Neuübertragungs-Anfrageprozedur
S4 und die Dateneinheit-Speicherprozedur
S3 ebenfalls parallel durchgeführt
werden können.
-
Die
Dateneinheit-Speicherprozedur S3 dient dazu, um beschädigte Kopien
von empfangenen L2 PDUs zu speichern. Die Neuübertragungs-Anfrageprozedur
S4 dient dazu, um die Neuübertragung
von einer empfangenen beschädigten
Dateneinheit anzufragen. Die genauen Details der Neuübertragungs-Anfrageprozedur hängen von
den Details der vorgegebenen Applikation und Protokolle, welche einbezogen
sind, ab, und können
im Allgemeinen ein Senden von einer vorbestimmten Meldung an den Sende-Peer 20 (siehe 2)
einbeziehen, sodass der Sende-Peer die spezifische L2 PDU, von welcher eine
beschädigte
Kopie am Empfangs-Peer 10 empfangen wurde, neu übertragen
wird. Das Konzept von Neuübertragungs-Anfrage-Meldungen und einer
entsprechenden Signalisierung ist im Stand der Technik bekannt,
sodass eine weitere Beschreibung hier nicht notwendig ist.
-
Nach
den Prozeduren S3 und S4 zum Speichern einer beschädigten Dateneinheit
und Durchführen
einer Neuübertragungs-Anfrageprozedur,
verzweigt der Ablauf zurück,
um eine Ankunft von weiteren Dateneinheiten abzuwarten. Auf diese
Art und Weise, wenn die Neuübertragungs-Anfrageprozedur zu
einer oder zu mehreren zusätzlichen
beschädigten
Kopien von einer ankommenden vorgegebenen Dateneinheit führt, wird
dies dann abermals zur Durchführung
der Dateneinheit-Speicherprozedur S3 und der Neuübertragungs-Anfrageprozedur
S4 führen.
-
In
dem Beispiel von 1, wird, wenn Schritt S2 bestimmt,
dass eine empfangene L2 PDU nicht beschädigt ist, dann Schritt S8 durchgeführt, bei
welchem bestimmt wird, ob die unbeschädigte Dateneinheit eine neu übertragene
Dateneinheit ist. Wenn dies nicht der Fall ist, wird die empfangene,
unbeschädigte
Dateneinheit an die oberhalb freigegebene Bearbeitungsprozedur S7
passiert, und wenn sie eine neu übertragene
Dateneinheit ist, verzweigt der Ablauf dann auf Schritt S9, bei
welchem die gespeicherte beschädigte
Kopie oder die Kopien verworfen werden, da sie nicht länger in
Verwendung sind. Dann wird die empfangene unbeschädigte Dateneinheit
ebenfalls an die aufwärts
liegende Freigabe-Bearbeitungsprozedur
S7 passiert. Natürlich
können das
Passieren der unbeschädigten
Kopie an die Prozedur S7 und das Verwerfen der beschädigten Kopien
in umgekehrter Reihenfolge oder parallel durchgeführt werden.
-
Die
Bestimmung in Schritt S8, ob eine empfangene unbeschädigte Dateneinheit
eine Neuübertragung
ist oder nicht, kann auf jegliche geeignete oder gewünschte Art
und Weise durchgeführt
werden. Beispielsweise, wenn das Protokoll eine Neuübertragungs-Anzeige
oder ein Kennzeichen in den Dateneinheiten verwendet (beispielsweise
ein einzelnes Bit, welches entweder eine erste Übertragung oder Neuübertragung
anzeigt), wird dann die Bestimmung von Schritt S8 geradewegs durchgeführt, indem
die geeignete Anzeige untersucht wird. Alternativ kann Schritt S8
eine Untersuchung von einer Aufzeichnung der beschädigten Kopien
von Dateneinheiten, welche durch die Dateneinheit-Speicherprozedur
S3 gespeichert sind, enthalten, sodass Schritt S8 bestimmt, ob eine
Kopie der empfangenen unbeschädigten
Dateneinheit im Speicher ist oder nicht. Wenn eine beschädigte Kopie
vorliegt, verzweigt S8 dann auf Schritt S9, und passiert andererseits
die empfangene unbeschädigte
Dateneinheit direkt an die aufwärts
liegende Freigabe-Bearbeitungsprozedur S7.
-
Die
Anzeige von einzelnen L2 PDUs und entsprechenden Kopien kann auf
jegliche geeignete oder gewünschte
Art und Weise vorgenommen werden, beispielsweise mithilfe von Sequenz-Anzeigen im Steuerinformationsteil
(beispielsweise Header), welche die Position von einer jeweiligen
L2 PDU in der gesamten Sequenz von L2 PDUs, welche gesendet sind,
anzeigen.
-
Es
ist zu erwähnen,
dass Schritte S8 und S9 lediglich optional sind, und dass weitere
Mechanismen implementiert werden können, um sicherzustellen, dass
gespeicherte beschädigte
Kopien von empfangenen Dateneinheiten eliminiert werden, wenn sie nicht
länger
von jeglicher Verwendung sind. Beispielsweise kann ein solches Eliminieren
des Speichers oder Puffers, in welchen diese beschädigten Kopien
von Dateneinheiten gespeichert sind, periodisch durchgeführt werden,
wobei die Periode ausreichend lang mit Bezug auf die Anforderungen
des Systems eingestellt ist.
-
Gemäß der vorliegenden
Erfindung, wird der ARQ-Mechanismus, welcher mithilfe der Neuübertragungs-Anfrageprozedur
implementiert ist, nicht unbegrenzt durchgeführt. Es wird nämlich das
wiederholte Senden von Neuübertragungs-Anfragen
nach einer vorgegebenen Dateneinheit lediglich durchgeführt, bis
ein auslösendes
Ereignis zur Beendigung des ARQ-Mechanismus
auftritt, wie durch Bezugsziffer 100 in 1 angezeigt.
Es bestehen zahlreiche Möglichkeiten,
um ein auslösendes
Ereignis auszuwählen,
wie im Folgenden detaillierter erläutert wird.
-
Bei
der vorliegenden Erfindung wird in Ansprechen auf das auslösende Ereignis
zum Beenden des ARQ-Mechanismus eine Dateneinheit-Bereitstellungsprozedur
S6 initialisiert, welche eine Dateneinheit an die aufwärts liegende
Freigabe-Bearbeitungsprozedur
S7 auf Basis der einen oder der mehreren gespeicherten beschädigten Kopien
der vorgegebenen Dateneinheit, für
welche der ARQ-Mechanismus beendet wurde, bereitstellt. Es bestehen
zahlreiche Möglichkeiten,
um eine oder mehrere Dateneinheiten zur aufwärts liegenden Freigabebearbeitung
auf der Basis von gespeicherten beschädigten Kopien bereitzustellen,
wie im Folgenden detaillierter erläutert wird.
-
Vorzugsweise,
nachdem die eine oder die mehreren Dateneinheiten der aufwärts liegenden Freigabe-Bearbeitungsprozedur
S7 bereitgestellt sind, wird die Dateneinheit-Bereitstellungsprozedur S7
alle beschädigten
Kopien der Dateneinheit, für welche
der ARQ-Mechanismus beendet wurde, verwerfen oder eliminieren. Jedoch
ist dies lediglich eine Option, und, wie bereits zuvor mit Bezug
auf Schritte S8 und S9 erläutert,
kann ein solches Eliminieren von gespeicherten beschädigten Kopien
ebenfalls periodisch vorgenommen werden.
-
Wie
anhand des Beispiels von 1 zu erkennen, kombiniert die
vorliegende Erfindung einen begrenzten oder halb zuverlässigen ARQ-Mechanismus
mit der Möglichkeit
zum Passieren von beschädigten
Dateneinheiten, aufwärts
an eine höhere Schicht.
Genauer gesagt, wenn der ARQ für
eine vorgegebene Dateneinheit seinen Betrieb beendet, führt die
empfangene Protokolleinheit die beschädigten Daten der höheren Protokollschicht
zu. Wenn beispielsweise an einer Verbindungsschicht angewendet,
erlaubt es dieses Konzept, eine wirksame Bestätigungs-Modus-Konfiguration
einer Ressource zu kombinieren, und zwar beispielsweise für eine Streaming-Übertragung mit einer Unterstützung von
einer Fehlerverschleierung bei höheren
Schichten, während
gleichzeitig ermöglicht
wird, dass die höhere Applikationsschicht
selber beschädigte
Daten bearbeitet. Dies erlaubt simultan eine wirksame Verbindungs-Verwaltung
der Ressource und eine fortgeschrittene Applikationssteuerung.
-
Wie
bereits oben erwähnt,
kann die Bereitstellung von einer Dateneinheit auf Basis von gespeicherten
beschädigten
Kopien einer vorgegebenen Dateneinheit auf jegliche geeignete oder
gewünschte Art
und Weise durchgeführt
werden. Vorzugsweise ist die Dateneinheit-Bereitstellungsprozedur
S6 derart angeordnet, dass sie eine Routine enthält, um mehrere beschädigte Kopien
von einer vorgegebenen Dateneinheit zu kombinieren, um eine kombinierte
Kopie der L2 PDU bereitzustellen, von der beschädigte Kopien gespeichert wurden.
Es ist zu erwähnen,
dass die Dateneinheit-Speicherprozedur S3 und/oder die aufwärts liegende
Freigabe-Bearbeitungsprozedur S7 zusätzlich und/oder alternativ
eine solche Routine zum Kombinieren mehrerer beschädigter Kopien
enthalten kann. Es kann entweder ein starkes Kombinieren der L2
PDU Kopien oder ein sanftes Kombinieren der Kopien, welche auf der
physikalischen Schicht gespeichert sind, durchgeführt werden.
Das Kombinieren kann das Synthetisieren von einer neuen Kopie der
vorgegebenen L2 PDU aus beschädigten
Kopien daraus enthalten. Ein solches Synthetisieren kann beispielsweise
das Lokalisieren von einem Fehler in jeder beschädigten Kopie und dann Extrahieren
der jeweils unbeschädigten Teile
von jeder insgesamt beschädigten
Kopie enthalten, um eine synthetisierte Kopie aufzubauen, welche
eine so gering wie mögliche
Beschädigung, vorzugsweise
keinerlei, enthält.
-
Alternativ
oder zusätzlich
zur Synthetisierung, kann die Routine zum Kombinieren ebenfalls die
Selektion von einer Kopie aus den beschädigten Kopien von einer vorgegebenen
Dateneinheit enthalten. Wenn nämlich
eine Mehrzahl von beschädigten Dateneinheiten
vorliegt, kann die Routine dann den Beschädigungsgrad von jeder gespeicherten
Kopie bestimmen und die Kopie mit dem geringsten Beschädigungsgrad
auswählen.
-
Wie
bereits erwähnt,
kann die Routine zum Kombinieren von mehreren beschädigten Kopien ebenfalls
in Verbindung mit der Datenspeicherprozedur S3 implementiert werden,
sodass beispielsweise lediglich eine kombinierte Dateneinheit gespeichert wird.
Die Datenspeicherprozedur kann nämlich
auf eine solche Art und Weise implementiert werden, dass, wenn eine
erste beschädigte
Kopie von einer vorgegebenen Dateneinheit empfangen wird, diese lediglich
gespeichert wird. Wenn ferner beschädigte Kopien empfangen werden,
können
sie mit der zuvor gespeicherten Kopie gemäß einem der oben erwähnten Konzepte
gespeichert werden, sodass die Ausgabe stets eine gespeicherte Kopie
ist.
-
Es
ist alternativ ebenfalls möglich,
dass die Kombinationsprozedur auf der Aufwärts-Freigabe-Bearbeitungsprozedur
S7 durchgeführt
wird, sodass die Datenspeicherprozedur S3 lediglich alle beschädigten Kopien
speichert, und die Dateneinheit-Bereitstellungsprozedur S6, nachfolgend
zum auslösenden
Ereignis, lediglich alle gespeicherten beschädigten Kopien der Aufwärts-Freigabe-Bearbeitungsprozedur
S7 bereitstellt, welche wiederum eine Kombinationsprozedur durchführt, um
eine Kopie zu erzeugen, welche beim Prozess von einer Vorbereitung
von einer Dateneinheit einer oberen Schicht (beispielsweise L2 SDU)
zur Aufwärts-Freigabe
verwendet wird.
-
Gemäß einer
weiteren bevorzugten Ausführungsform,
enthält
die Datenspeicherprozedur S3 eine Routine zur Unterscheidung von
L2 PDUs in zumindest eine erste und eine zweite Kategorie, wobei beschädigte Kopien
von der ersten Kategorie gespeichert werden, und beschädigte Kopien
der zweiten Kategorie verworfen werden. Dies ist durch den optionalen
Schritt S31 in 1 gezeigt. Mit anderen Worten,
wird lediglich dann, wenn die empfangene beschädigte Dateneinheit eine vorbestimmte Speicherbedingung
einhält,
diese tatsächlich
in einem folgenden Schritt S32 gespeichert. Andererseits wird die
beschädigte
Dateneinheit nicht gespeichert. Die vorbestimmte Speicherbedingung
kann auf jegliche geeignete oder gewünschte Art und Weise gewählt werden,
und kann beispielsweise auf einer Identifizierung von einer vorbestimmten
Sektion einer in Betrachtung stehenden beschädigten Dateneinheit, Bestimmung
ob die vorbestimmte Sektion beschädigt ist, und dann einer Unterscheidung
der Dateneinheit in die Kategorie zur Verwerfung, wenn die vorbestimmte
Sektion beschädigt
ist, basieren. Vorzugsweise ist die vorbestimmte Sektion der Steuerinformationsteil
oder Header von der Dateneinheit, sodass L2 PDUs mit einem beschädigten Header
nicht in der Datenspeicherprozedur S3 gespeichert werden, wohingegen
Dateneinheiten, bei welchen lediglich die Nutzlast-Sektion beschädigt ist,
gespeichert werden.
-
Genauer
gesagt, wird ein empfindlicher Teil von einer empfangenen Dateneinheit
definiert, und demgemäß ein unempfindlicher
Teil. Wenn eine Beschädigung
im empfindlichen Teil auftritt, dann wird die Dateneinheit nicht
gespeichert, wohingegen, wenn eine Beschädigung lediglich im unempfindlichen
Teil auftritt, die Dateneinheit dann gespeichert werden kann.
-
Bei
einer weiteren Ausführungsform
der Routine S32 zur Unterscheidung von beschädigten Kopien von empfangenen
Dateneinheiten in zumindest zwei Kategorien, kann diese Routine
das Erlangen von einer Zuverlässigkeitsinformation
auf die beschädigte
Kopie von der Dateneinheit, ein Bestimmen anhand der Zuverlässigkeitsinformation
von einer Wahrscheinlichkeit, das eine vorbestimmte Sektion der
beschädigten
Dateneinheit beschädigt
ist, ein Vergleichen der Wahrscheinlichkeit mit einem bestimmten
Schwellwert und dann ein Unterscheiden der beschädigten Kopie in die Kategorie
zur Verwerfung, wenn die Wahrscheinlichkeit den vorbestimmten Schwellwert übersteigt,
enthalten.
-
Abermals
ist die vorbestimmte Sektion ein empfindlicher Teil, welcher vorzugsweise
ein Steuerinformationsteil ist, wie beispielsweise der Header.
-
Der
Vorteil von einer Bereitstellung einer Routine zum Unterscheiden
zwischen beschädigten Dateneinheiten,
welche zu speichern sind, und beschädigten Dateneinheiten, welche
zu verwerfen sind, in der Dateneinheit-Speicherprozedur S3, ist, dass
es nicht lohnenswert sein kann, beschädigte Kopien zu speichern,
welche möglicherweise
zu Problemen bei der gesamten Übertragung,
wenn sie nach oben passiert wird, führen werden. Bitfehler im Nutzbereich
sind nämlich
im Allgemeinen tolerierbar, jedoch können Bitfehler im Steuerinformationsteil (beispielsweise
Header) zu einer Fehlfunktion des Protokolls am empfangenen Peer
führen.
-
Im
Allgemeinen kann der empfindliche Teil von einer L2 PDU auf jegliche
geeignete oder gewünschte
Art und Weise definiert werden. Ein Beispiel von einer L2 PDU ist
in 3 gezeigt. Die L2 PDU 300 enthält nämlich einen
Header-Teil 301, 302 und eine Nutzbereich-Sektion 303.
Die Nutzbereich-Sektion wird Teile von einer oder von mehreren L2
SDUs enthalten, wobei die gestrichelte Linie 304 eine Übertragung
zwischen zwei L2 SDUs anzeigt, welches im Folgenden detaillierter
erläutert
wird.
-
Wenn
das Funkverbindungs-Steuerungs-(RLC) Protokoll gemäß von 3GPP
TS 25.322, V4.3.0 (2001, 12) als ein Beispiel genommen wird, können zwei
Teile von einem RLC-Header definiert werden, nämlich der erste Teil 301,
welcher eine festgelegte Länge
hat, welcher beispielsweise die Sequenz Nr. enthält, welche die Position von
einer vorgegebenen L2 PDU in der Sequenz von PDUs identifizieren,
und ein zweiter Teil 302, welcher von der Nutzlast abhängt und
daher in seiner Größe variabel ist.
Dieser letztgenannte Teil wird zur Rahmung von SDUs verwendet, indem
angezeigt wird, wo der Nutzbereich von einer SDU (oder Padding-Bits)
beginnen und enden. Dieser Teil kann eine variable Länge haben,
in Abhängigkeit
davon, wie viele Übergänge von SDUs
vorliegen. Die gestrichelte Linie 304 stellt nämlich einen
solchen SDU-Übergang
im Nutzbereich der L2 PDU 300 dar. Typischerweise reduziert
sich die Größe des variablen
Teils 302 des Headers auf einen Satz von Werten, welcher
beispielsweise von der Größe der PDU 300,
dem Typ von transportiertem Dienst, ob der L3-Header eine Komprimierung verwendet
(beispielsweise für
IP), usw., abhängt.
Daher kann die Größe des empfindlichen
Teils der RLC PDU durch den Teil mit festgelegter Größe 301 plus einer
maximalen Größe des Teils
mit variabler Größe 302 bestimmt
werden, welcher nicht überstiegen
wird oder nicht um eine bestimmte Wahrscheinlichkeit überstiegen
wird.
-
Um
zu bestimmen, ob ein Bitfehler im empfindlichen Teil von einer L2
PDU aufgetreten ist, kann eine zusätzliche oder separate Prüfsumme für den empfindlichen
Teil verwendet werden, welche separat überprüft wird. Wenn die CRC-Überprüfung über den empfindlichen Teil
der PDU fehlerhaft ist, sollte sie verworfen werden. Wenn jedoch
Bitfehler überall, jedoch
nicht in der CRC-Überprüfung des
empfindlichen Teils, erfasst werden, kann die PDU gespeichert werden.
-
Wie
bereits erwähnt,
ist es ebenfalls möglich, eine
Zuverlässigkeitsinformation
von einem Kanal-Dekoder und/oder Signal-Dekoder in einem Empfänger-Modul
zu erlangen. Diese Information kann anzeigen, welche Teile der PDU
mit einer höheren Wahrscheinlichkeit
Bitfehler enthalten als andere. Wenn Bitfehler in der PDU erfasst
sind und die Zuverlässigkeitsinformation
enthüllt
(beispielsweise durch einen Vergleich mit einem bestimmten Schwellwert), dass
die Fehler wahrscheinlich den empfindlichen Teil der PDU beschädigt haben,
kann die PDU verworfen werden, andererseits kann sie verarbeitet werden,
wie oben beschrieben, nämlich
indem sie gespeichert wird.
-
Wie
bereits oben erwähnt,
ist die Einführung von
einer zusätzlichen
Prozedur S31 zur Unterscheidung der zu speichernden beschädigten Kopien
und zu verwerfenden beschädigten
Kopien optional. Es ist nämlich
möglich,
einfach alle beschädigten
Kopien zu speichern. Wenn jedoch sogar alle beschädigten Kopien
gespeichert werden, ist es immer noch möglich, die Wahrscheinlichkeit
zu erhöhen,
dass empfindliche Teile von solch gespeicherten beschädigten Kopien
selber nicht beschädigt
sind, indem nämlich
ein ungleicher Fehlerschutz auf die empfindlichen und unempfindlichen
Teile der L2 PDUs angewendet wird. Beispielsweise kann der empfindliche Teil
ein separater (oder zusätzlicher)
Kanal sein, welcher mit einem robusteren Code kodiert ist. Dann, wenn
Bitfehler in der PDU auftreten (d. h., dass die PDU beschädigt ist),
wird die Wahrscheinlichkeit, dass der Bitfehler im empfindlichen
Teil der PDU auftrat, größtenteils
reduziert.
-
Wie
bereits erwähnt,
kann das auslösende Ereignis 100 zur
Beendigung des ARQ-Mechanismus für
eine vorgegebene L2 PDU wie geeignet oder gewünscht gewählt werden. Beispielsweise
kann das auslösende
Ereignis der Empfang von einer Meldung vom sendenden Peer sein,
welche eine oder mehrere L2 PDUs identifiziert, für welche
der ARQ-Mechanismus zu beenden ist. Ein Beispiel einer solchen Meldung
ist die so genannte Move Receiver Window (MRW)-Meldung, welche in
Verbindung mit einer SDU-Verwerfung im RLC-Protokoll gemäß 3GPP TS 25.322
bekannt ist. Zusätzlich
oder alternativ kann das auslösende
Ereignis der Ablauf eines Zeitnehmers im empfangenen Peer sein.
Mit anderen Worten, kann ein Zeitnehmer eingestellt werden, welcher gestartet
wird, wenn eine beschädigte
Kopie von einer vorgegebenen L2 PDU das erste Mal empfangen wird,
und wenn der Zeitnehmer abläuft,
wird die Dateneinheit-Bereitstellungsprozedur
S6 ausgelöst. Ferner
kann das auslösende
Ereignis alternativ oder zusätzlich
das Senden einer vorbestimmten Anzahl von Neuübertragungs-Anfragen für eine vorgegebene
L2 PDU sein. Mit anderen Worten, zählt die Steuereinheit des empfangenen
Peers die Anzahl von Neuübertragungs-Anfragen,
welche für
jede L2 PDU gesendet werden, und wenn diese Anzahl von Neuübertragungs-Anfragen
einen vorbestimmten Schwellenwert übersteigt, wird der ARQ-Mechanismus für die zugehörige L2
PDU beendet, und die Dateneinheit-Bereitstellungsprozedur S6 wird
ausgelöst.
-
Wie
bereits erwähnt,
kann die Aufwärts-Freigabe-Bearbeitungsprozedur
derart angeordnet sein, wie im Kontext der vorgegebenen Schicht
und der implementierten Protokolle geeignet oder gewünscht. Wenn
beispielsweise das Protokoll, bei welchem die vorliegende Erfindung
angewendet wird, eine Einkapselung von einer Dateneinheit einer
höheren Schicht
(L3) in Dateneinheiten von der Schicht, bei welcher die Erfindung
angewendet wird (L2 PDUs), bereitstellt, kann die Aufwärts-Freigabe-Bearbeitungsprozedur
S7 eine Routine enthalten, um lediglich die Einkapselung von den
Dateneinheiten zu entfernen, welche von der Fehlererfassungsprozedur
S2 oder von der Dateneinheit-Bereitstellungsprozedur S6 empfangen
sind.
-
Ferner,
wenn die Protokoll-Implementierung, bei welcher die vorliegende
Erfindung angewendet wird, die Segmentierung von Dateneinheiten
einer höheren
Schicht (L2 SDUs) in Dateneinheiten einer unteren Schicht (L2 PDUs)
bereitstellt, dann enthält die
Aufwärts-Freigabe-Bearbeitungsprozedur
S7 eine Routine, um die SDUs einer höheren Schicht aus den Inhalten
von L2 PDUs zusammenzusetzen, welche von der Fehlererfassungsprozedur
S2 oder der Dateneinheit-Bereitstellungsprozedur
S6 empfangen werden. Mit anderen Worten, stellt die Aufwärts-Freigabe-Bearbeitungsprozedur
die Entfernung der L2-Verkapselung und die Zusammensetzung der jeweiligen
Nutzlasten in L2 SDUs bereit.
-
Dies
ist in 4a schematisch gezeigt. Dort sind
die Inhalte (Nutzlast) von L2 PDUs 41 bis 49 in L2
SDUs 401 und 402 zusammengesetzt. Wie zu erkennen,
enthält
die L2 PDU 45 einen Übergang,
sodass sie Teile von beiden SDUs 401 und 402 befördert.
-
Wenn
die Freigabe-Bearbeitung von SDUs ausgelöst wird, werden SDUs zusammengesetzt
und an die höhere
Schicht befördert.
Wenn alle PDUs, welche eine Nutzlast enthalten, welche zu einer
SDU gehört,
korrekt empfangen worden sind (d. h., dass sie unbeschädigt sind),
ist dies der Standard-L2-Protokollbetrieb, welcher im Stand der
Technik bekannt ist. Wenn beschädigte
PDUs vorliegen, welche Bitfehler enthalten, wird eine SDU zusammengesetzt oder
aus der PDU-Nutzlast rekonstruiert, welche die Bitfehler enthält. Dies
ist beispielsweise mit Bezug auf L2 PDU 47 in 4a gezeigt,
bei welcher die punktierte Schraffierung eine defekte PDU darstellt. Daraus
folgend, enthält
die zusammengesetzte SDU 402 ebenfalls eine Sektion, welche
beschädigt
ist, welche mit 471 gekennzeichnet ist.
-
Bei
dem Fall, dass beim Moment einer Auslösung der Beendigung des ARQ-Mechanismus
(100 in 1) keine gespeicherten beschädigten Kopien der
vorgegebenen L2 PDU, für
welche der ARQ-Mechanismus beendet wird, verfügbar sind, gibt es mehrere
Möglichkeiten
zur Antwort. Zunächst
ist es möglich,
dass die Dateneinheit-Bereitstellungsprozedur S6 lediglich ruhig
verbleibt, und dass die Aufwärts-Freigabe-Bearbeitungsprozedur
S7 implementiert ist, um ein auslösendes Ereignis 100 zu
empfangen oder die Zeit zum Zusammensetzen einer vorgegebenen SDU
zu überwachen.
Wenn die Zeit zum Zusammensetzung einer vorgegebenen SDU ein vorbestimmtes
Limit übersteigt,
kann die Aufwärts-Freigabe-Bearbeitungsprozedur
S7 jegliche Nutzlast von einer vermissten L2 PDU als letztendlich vermisst
behandeln, d. h. als nicht länger
bevorstehend. Jedoch enthält
die Dateneinheit-Bereitstellungsprozedur S6 gemäß einer bevorzugten Ausführungsform
eine Routine, um eine ausdrücklich
vermisste Dateneinheitsanzeige der Aufwärts-Freigabe-Bearbeitungsprozedur bereitzustellen,
wenn nachfolgend dem auslösenden
Ereignis zum Beenden des ARQ-Mechanismus
keine beschädigte
Kopie der vorgegebenen Dateneinheit, für welche der ARQ-Mechanismus
beendet wird, im Speicher ist. Dadurch wird die Aufwärts-Freigabe-Bearbeitungsprozedur
S7 direkt darüber
informiert, dass die entsprechende Sektion der SDU nicht kommen
wird.
-
Die
Schraffierung von L2 PDU 43 in 4a stellt
eine vermisste L2 PDU dar, und dies führt zu einer zusammengehörigen vermissten
Nutzlast-Sektion 431 für
die Zusammensetzung von SDU 401.
-
In
Ansprechen auf eine Bestimmung, dass eine bestimmte Sektion von
einer SDU unter Zusammenstellung vermisst ist, kann die Aufwärts-Freigabe-Bearbeitungsprozedur
S7 auf eine Vielzahl von Wegen reagieren. Gemäß einer Möglichkeit, kann die Aufwärts-Freigabe-Bearbeitungsprozedur
alle L2 SDUs verwerfen, welche aus den Inhalten von einer vermissten
L2 PDU zusammengesetzt sind. Mit anderen Worten, wird im Beispiel
von 4a, die Aufwärts-Freigabe-Bearbeitungsprozedur
S7 lediglich die verbleibenden Teile dessen, was als SDU 401 gezeigt
ist, verwerfen, d. h., dass sie diese Daten nicht aufwärts liefern
wird. In diesem Zusammenhang ist zu erwähnen, dass die Aufwärts-Freigabe-Bearbeitungsprozedur
nicht dazu in der Lage sein kann, geradewegs zu bestimmen, ob die
vermisste L2 PDU 43 einen Übergang (so wie 304 in 3)
zwischen zwei unterschiedlichen SDUs in ihrer Nutzlast enthält. Daher
kann ein Verwerfen von allen verbleibenden Daten, wie als 401 in 4a gezeigt,
bedeuten, dass tatsächlich
zwei oder mehrere SDUs verworfen werden.
-
Als
eine Alternative zum Verwerfen von L2 SDUs, bei welchen Sektionen
vermisst werden, kann die Aufwärts-Freigabe-Bearbeitungsprozedur
ebenfalls Dummy-Daten anstelle der Inhalte der vermissten L2 PDU
verwenden. In einer Ausführungsform, kann
dies unter der Annahme vorgenommen werden, dass die vermisste L2
PDU keinerlei SDU-Übergang enthält, sodass
lediglich Bits aufgefüllt
werden, um den Spalt zwischen der Nutzlast von PDU 42 und 44 zu
füllen,
beispielsweise durch ein Auffüllen
von einer geeigneten Anzahl von Nullen oder Einsen, um eine Dummy-Sektion 431 aufzubauen,
welche in den Spalt passt. Es ist dann Aufgabe der höheren Protokollschichten,
die Integrität
der SDU zu überprüfen, und
zwar beispielsweise durch eine CRC-Überprüfung oder durch ein Vergleichen
der SDU-Größe für das Längenfeld,
bzw. -felder, in höheren
Protokollschichten.
-
Vorzugsweise
hat die Aufwärts-Freigabe-Bearbeitungsprozedur
eine Übergangs-Bestimmungs-Routine,
um zu bestimmen, ob die vermisste L2 PDU einen Übergang zwischen zwei L2 SDUs enthält, und
wobei Dummy-Daten gemäß der Ausgabe
der Bestimmungs-Routine
ausgewählt
werden. Mit anderen Worten, bestimmt die Übergangs-Bestimmungs-Routine,
ob und wo ein Übergang
in der vermissten L2 PDU auftrat, und erzeugt eine geeignete Anzahl
von Dummy-Bits, um die jeweiligen zwei SDUs zu füllen, nämlich eine SDU, welche in der
vermissten L2 PDU endet, und eine SDU, welche in der vermissten
L2 PDU beginnt. Vorzugsweise wird lediglich die SDU, welche in der
vermissten L2 PDU endet, rekonstruiert, indem eine geeignete Anzahl von
Dummy-Bits verwendet wird, da die Dummy-Bits für gewöhnlich nicht dazu geeignet
sind, um den Header der neuen SDU zu ersetzen, welche in der vermissten
L2 PDU beginnt.
-
Die Übergangs-Bestimmungs-Routine
kann auf jegliche gewünschte
oder geeignete Art und Weise für
die spezifischen Protokolle bereitgestellt werden, welche verwendet
werden. Wenn beispielsweise eine L2 SDU oder eine Dateneinheit von
einer höheren
Schicht einen Steuerinformationsteil hat (wie beispielsweise ein
Header), welcher eine Information über die Länge der L2 SDU enthält, dann
kann die Übergangs-Bestimmungs-Routine ein Erlangen
oder Analysieren dieser Länge
der zusammengesetzten L2 SDU, und ein Bestimmen, ob die vermisste
L2 PDU einen Übergang
enthält,
und zwar auf Basis der bestimmten Länge, enthalten. Dies ist schematisch
in 4b gezeigt. Die Übergangs-Bestimmungs-Routine
analysiert nämlich
den Steuerinformationsteil 403 der SDU unter Zusammensetzung
oder die entsprechende Dateneinheit von der höheren Schicht, und wenn die
bestimmte Länge
anzeigt, dass diese SDU 401 innerhalb der Sektion 431 endet,
welche der L2 PDU 43 entspricht, dann kann eine geeignete
Anzahl von Dummy-Bits erzeugt und eingesetzt werden. Andererseits,
wenn die bestimmte Länge
anzeigt, dass in 43 kein Übergang ist, dann fährt der
Aufbau oder die Zusammensetzung von SDU 401 mit der Nutzlast von
einer folgenden L2 PDU 44 und 45 fort, bis ein expliziter Übergang
in der Steuerinformation von der L2 PDU definiert ist, wie beispielsweise
mit Bezug auf L2 PDU 45 gezeigt.
-
Wie
anhand des oben genannten zu erkennen, können bei dem Verfahren der
vorliegenden Erfindung SDUs aus beschädigten Daten zusammengesetzt
oder aufgebaut sein und nach oben freigegeben werden. Im Allgemeinen
wird daher die Untersuchung von einer SDU-Integrität den höheren Schichten überlassen.
-
Vorzugsweise
enthält
die Aufwärts-Freigabe-Bearbeitungsprozedur
S7 eine weitere Routine, um zwischen L2 SDUs, welche nach oben freizugeben
sind, und L2 SDUs, welche zu verwerfen sind, zu unterscheiden. Mit
anderen Worten, ist es bevorzugt, dass die Aufwärts-Freigabe-Bearbeitungsprozedur einen
Typ einer Plausibilitätsüberprüfung an
Schicht 2 durchführt,
um ein Weiterleiten von nicht wiederherstellbaren SDUs entlang des
weiteren Übertragungspfades
zu vermeiden.
-
Vorzugsweise,
wenn die Aufwärts-Freigabe-Bearbeitungsprozedur
S7 das Zusammensetzen von segmentierten Daten in L2 SDUs enthält, wird
die Unterscheidung auf der Basis des Ortes von Daten von beschädigten L2
PDUs in einer zu unterscheidenden L2 SDU durchgeführt. Wenn
beispielsweise die Daten von einer beschädigten L2 PDU im Steuerinformationsteil
der zusammenzusetzenden SDU enthalten sind, dann kann diese SDU
in die Kategorie zur Verwerfung unterschieden werden, wobei, wenn die
Daten von der beschädigten
L2 PDU in der Nutzlast-Sektion von der L2 SDU enthalten sind, die
L2 SDU dann in die Kategorie zur Freigabe nach oben klassifiziert
wird.
-
5 zeigt
ein schematisches Blockdiagramm einer Vorrichtung zur Bearbeitung
von empfangenen Dateneinheiten an einem empfangenen Peer von einer
Protokollimplementierung an einer vorgegebenen Schicht. Das Bezugszeichen 50 stellt eine
Kommunikationsvorrichtung dar, welche Dateneinheiten von einem vorgegebenen
Protokoll überarbeitet,
und zwar stellt es beispielsweise einen Kommunikationsknoten in
einem Netzwerk dar, welcher Verbindungsschicht-Dateneinheiten bearbeitet.
Bezugszeichen 51 stellt einen Aufwärts-Freigabe-Bearbeiter zum
Bearbeiten einer Freigabe von Daten an höhere Schichten dar, Bezugszeichen 52 stellt
einen Fehlererfasser dar, um zu bestimmen, ob eine empfangene L2
PDU beschädigt
ist oder nicht, und um eine empfangene L2 PDU an den Aufwärts-Freigabe-Bearbeiter 51 zu
passieren, wenn bestimmt ist, dass die L2 PDU nicht beschädigt ist,
Bezugszeichen 53 stellt einen Neuübertragungs-Anfrager dar, um
die Neuübertragung
von einer empfangenen L2 PDU anzufragen, wenn der Fehlererfasser 52 bestimmt, dass
die empfangene L2 PDU beschädigt
ist. Bezugszeichen 54 bezieht sich auf einen Dateneinheit-Speicher,
um beschädigte
L2 PDUs zu speichern, und Bezugszeichen 55 bezieht sich
auf einen Dateneinheit-Bereitsteller, um eine L2 PDU dem Aufwärts-Freigabe-Bearbeiter 51 auf
der Basis von einer oder mehreren gespeicherten beschädigten Kopien von
einer vorgegebenen L2 PDU bereitzustellen, wobei der Dateneinheit-Bereitsteller 55 derart
angeordnet ist, um nach einem auslösenden Ereignis zum Beenden
des Betriebes des Neuübertragungs-Anfragers
nach einer vorgegebenen L2 PDU zu arbeiten.
-
Mit
anderen Worten, implementiert der Aufwärts-Freigabe-Bearbeiter 51 die
Aufwärts-Freigabe-Bearbeitungsprozedur
S7, der Fehlererfasser 52 implementiert die Fehlererfassungsprozedur
S2, der Neuübertragungs-Anfrager
implementiert die Neuübertragungs-Anfrage-Prozedur
S4, der Dateneinheit-Speicher 54 ist zur Implementierung
der Dateneinheit-Speicherprozedur S3 bereitgestellt, und der Dateneinheit-Bereitsteller 55 implementiert
die Dateneinheit-Bereitstellungsprozedur
S6. Demgemäß können alle
der oben beschriebenen bevorzugten Ausführungsformen der angezeigten
Prozeduren und Routinen mit Bezug auf die oben beschriebenen Elemente 51 bis 55 implementiert
werden.
-
Die
in 5 gezeigten Elemente sind schematische Darstellungen
und können
in der Form von Hardware, von Software, welche auf Vielzweck-Prozessoren
oder applikationsspezifischen Prozessoren läuft, oder von einer geeigneten
Kombination von Hardware und Software bereitgestellt werden.
-
Auf
diese Weise, kann die vorliegende Erfindung ebenfalls in der Form
eines Computerprogrammproduktes oder eines Computerprogramms, welches,
wenn es auf einer Vorrichtung zur Bearbeitung von Dateneinheiten
einer ersten Schicht geladen und ausgeführt wird, eines der oben beschriebenen
Verfahren durchführt.
Ferner kann die vorliegende Erfindung ebenfalls als ein Datenträger ausgeführt sein,
welcher ein solches Computerprogramm trägt.
-
Obwohl
die vorliegende Erfindung im Kontext von detaillierten und bevorzugten
Ausführungsformen
beschrieben wurde, sind diese Ausführungsformen nicht als die
Erfindung beschränkend
zu verstehen, welche durch die anliegenden Ansprüche definiert ist. Bezugszeichen
in den Ansprüchen
dienen zum Zwecke eines besseren Verständnisses und beschränken nicht
den Umfang.