ES2240961T3 - Protocolo de retransmision para comunicaciones inalambricas. - Google Patents
Protocolo de retransmision para comunicaciones inalambricas.Info
- Publication number
- ES2240961T3 ES2240961T3 ES94308658T ES94308658T ES2240961T3 ES 2240961 T3 ES2240961 T3 ES 2240961T3 ES 94308658 T ES94308658 T ES 94308658T ES 94308658 T ES94308658 T ES 94308658T ES 2240961 T3 ES2240961 T3 ES 2240961T3
- Authority
- ES
- Spain
- Prior art keywords
- data packets
- transmission
- received
- receiver
- sequence
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1664—Details of the supervisory signal the supervisory signal being transmitted together with payload signals; piggybacking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1614—Details of the supervisory signal using bitmaps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1628—List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1832—Details of sliding window management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Una disposición para la retransmisión de paquetes de datos, para uso en un sistema de comunicaciones, que comprende: medios (100) para transmitir paquetes de datos a un receptor (200) y asociar dichos paquetes de datos transmitidos con respectivos números de orden de transmisión cuando son transmitidos, medios (100, 120) que responden a la recepción de un mensaje de estado que identifique los paquetes de datos transmitidos que fueron recibidos correcta e incorrectamente por dicho receptor, para retransmisión, siempre que esté abierto un intervalo para la transmisión de paquetes de datos, de sólo aquéllos de dichos paquetes de datos recibidos incorrectamente cuyos números de orden de transmisión asociados preceden a un número de orden de transmisión asociado con un paquete de datos transmitido, identificado en dicho mensaje como el último de los paquetes de datos recibidos correctamente, y caracterizado por medios (100, 120) que funcionan siempre que se cierre un intervalo para la transmisión de paquetes de datos, para retransmitir, a su vez, todos los paquetes de datos a los que no se ha acusado recibo y que hayan sido recibidos incorrectamente, o no hayan sido recibidos, por dicho receptor cuando dicho intervalo estaba abierto y repetir continuamente la retransmisión de cada uno de tales paquetes de datos hasta que dicho intervalo se abra para la transmisión de paquetes de datos o hasta la recepción de una confirmación que indique que el paquete de datos se recibió correctamente.
Description
Protocolo de retransmisión para comunicaciones
inalámbricas.
El invento se refiere a disposiciones de
retransmisión de paquetes de datos para uso en un sistema de
comunicaciones.
Es bien sabido que una transmisión inalámbrica es
ruidosa y adolece, típicamente, de profundos desvanecimientos de la
señal, que pueden durar hasta varios cientos de milisegundos. Como
tal, es probable que los paquetes de datos transmitidos por un
enlace de transmisiones inalámbricas en condiciones de transmisión
adversas, haya de ser retransmitido una o más veces. Puede
apreciarse que la retransmisión frecuente de paquetes de datos
reduce el rendimiento de un enlace de transmisiones inalámbricas.
Puede apreciarse, también, que la detención de la retransmisión de
paquetes de datos siempre que se cierre el intervalo de transmisión,
también reduce dicho rendimiento.
Además, en un modo inverso (desde un receptor
anfitrión a un transmisor de usuario) la información que se
transmite desde el anfitrión al usuario vaya precedida, con
frecuencia, por un paquete de estado que notifique qué paquetes
recibió correcta y/o incorrectamente, el receptor. Como tal, el
ancho de banda de la vía de transmisión inversa que puede utilizarse
para la transmisión de información, resulta reducido por la
transmisión de los paquetes de estado. En algunas aplicaciones, tal
reducción puede ser aceptable. Sin embargo, cuando se requiere un
alto nivel de rendimiento dúplex sostenido, entonces dicha reducción
puede no ser aceptable.
El documento
EP-A-0055404 describe un método y un
sistema para comunicar datos digitales desde una primera estación a
una segunda estación. Las estaciones fuente y destino transmiten
continuamente tramas de datos a intervalos fijos sustancialmente en
sincronismo mutuo. Cada trama de datos transmitida por la estación
destino puede incluir un número de identificación de la estación
fuente y una señal de acuse de recibo, positivo o negativo, para
indicar si la trama de datos de la estación fuente identificada fue
recibida correctamente por la estación destino. La estación fuente
interpreta entonces la trama de datos de la estación destino para
determinar si es necesario transmitir cualesquiera tramas de datos
previamente transmitidas.
El documento
US-A-5222061 describe una
instalación para uso en un conmutador de paquetes, para controlar la
retransmisión múltiple innecesaria de un paquete de datos. El
control se consigue siguiendo, en una lista, los números de
secuencia de paquetes de datos transmitidos y retransmitiendo un
paquete de datos sólo si su número de secuencia aparece en la lista
antes del número de secuencia del último paquete de datos que ha
sido recibido correctamente por un receptor. El número de secuencia
asociado con un paquete de datos retransmitido es borrado de la
lista y anexado luego a la lista para poner el número en relación
apropiada con los números de secuencia de paquetes de datos
transmitidos después de la transmisión inicial del paquete de datos
retransmitido.
El documento
US-A-5084877 describe un protocolo
de comunicaciones que comunica información absoluta de estado. El
protocolo intercambia mensajes de control que contienen toda la
información de estado pertinente entre el receptor y el transmisor
en una rutina frecuente y sobre una base periódica, con
independencia de cualquier suceso significativo que pueda haber
ocurrido en cualquier dispositivo.
De acuerdo con este invento se proporciona una
disposición para la retransmisión de paquetes de datos como se
reivindica en la reivindicación 1.
Las Figs. 1 y 2 muestran, respectivamente, en
forma de diagrama de bloques general, un transmisor y un receptor en
los que pueden llevarse a la práctica los principios del
invento;
la Fig. 3 es un ejemplo ilustrativo del formato
de un paquete de control de estado que el receptor de la Fig. 2
transmite al transmisor de la Fig. 1;
la Fig. 4 es un ejemplo ilustrativo del formato
de un mensaje de control de estado parcial que el receptor de la
Fig. 2 anexa a un paquete de información transmitiendo luego el
paquete al transmisor de la Fig. 1;
las Figs. 5 y 6 son ejemplos ilustrativos de una
lista de transmisión que mantiene el transmisor de la Fig. 1;
la Fig. 7 ilustra varios ejemplos de mensajes
parciales de control de estado;
las Figs. 8 y 9 muestran, en forma de gráfica de
proceso, el programa que lleva a la práctica los principios del
invento en el receptor de la Fig. 2; y
las Figs. 10 y 11 representan, en forma de
gráfica de proceso, el programa que lleva a la práctica los
principios del invento en el transmisor de la Fig. 1.
En una realización ilustrativa del invento, un
transmisor 100, Fig. 1, puede constituir la sección de transmisor de
un terminal inalámbrico portátil contenido en un comunicador
inalámbrico, en el que el terminal inalámbrico puede estar destinado
a funcionar de acuerdo con un protocolo predeterminado. Tal
protocolo puede especificar un denominado control 50 de capa
superior conectado a la memoria intermedia 110 de transmisión a
través de la línea de comunicaciones 51, cuya memoria intermedia 110
puede ser un dispositivo de memoria usual, por ejemplo, una memoria
RAM del tipo "primero en entrar-primero en
salir" (FIFO). Un procesador generador de datos, que sirve como
control 50 de capa superior, almacena paquetes de datos formados a
partir de vocablos de información en posiciones secuenciales de la
memoria intermedia 110. Una vez que los paquetes de datos han sido
almacenados en la memoria 110, están luego disponibles para su
recuperación por el controlador 120 a través de la línea 111 de
comunicaciones. Es decir, el controlador 120 descarga paquetes de
datos en el orden en que han sido almacenados en la memoria
intermedia 110 con el propósito de transmitir los paquetes de datos
al receptor 200 (Fig. 2), como se describirá en lo que sigue.
El protocolo antes mencionado puede especificar,
también, una capa de control de enlace lógico que define varias
funciones para interconectar un terminal inalámbrico con un terminal
anfitrión a través de una vía de comunicaciones inalámbricas con el
propósito de intercambiar paquetes de datos. En el receptor 200,
tales funciones incluyen, entre otras, la comprobación de números de
secuencia que acompañan a paquetes de datos recibidos, la
comprobación de errores, la generación de mensajes de control de
estado y la transmisión de los mensajes al transmisor 100. De
acuerdo con un aspecto del invento, tales mensajes de estado pueden
consistir en mensajes de estado, parciales o totales, como se
describirá en lo que sigue. En el transmisor 100, tales funciones
incluyen, entre otras, la generación de números de secuencia, el
anexado de tales números de secuencia a paquetes de datos
respectivos descargados de la memoria intermedia 110, la transmisión
de los paquetes al receptor 200 y la retransmisión de los paquetes
de datos que no se recibieron correctamente en el receptor 200.
(Ha de observarse que, en este documento, el
término "anexar" y sus variantes, significan realizar adiciones
a la lista de una manera que permita mantener un seguimiento del
orden en que se transmitieron los paquetes. Ha de observarse,
también, que la siguiente exposición, que pertenece al
funcionamiento del transmisor 100 (receptor 200, Fig. 2), pertenece
igualmente al receptor 200 (transmisor 100), cuando están
funcionando en modo dúplex total. Es decir, el transmisor 100
incluiría un receptor 200 y el receptor 200 incluiría un transmisor
100).
Las funciones de la capa de control de enlace
lógico se incorporan en un transmisor 100 utilizando, entre otros,
un controlador 120, una memoria intermedia RAM 105, un generador 125
de números de secuencia y un generador 145 de números de
transmisión. El generador 125 de números de secuencia, más
particularmente, puede ser un contador de módulo M usual, en el que
el valor de M puede ser, por ejemplo, 128. El controlador 120
acepta, por la línea 126 de comunicaciones, el valor corriente
generado por el generador 125 y suma el valor como un número de
secuencia de paquetes al último paquete de datos que el controlador
120 descarga de la memoria intermedia 110 de transmisión. Además, el
controlador 120 genera un código de comprobación de error que
permite que el receptor del paquete de datos resultante, por
ejemplo, el receptor 200, determine si el paquete se recibió
correctamente, sin errores. El código de comprobación de error
podría ser el comúnmente conocido como código de redundancia
cíclico.
Después de que el controlador 120 forma un
paquete de datos, carga entonces el paquete de datos en el modulador
135 de memoria intermedia de transmisión. El modulador 135 de
memoria intermedia de transmisión, a su vez, modula el paquete de
datos de manera usual empleando una señal portadora que define un
canal de radio asignado por el receptor anfitrión 200. El modulador
135 transmite entonces el resultado por la antena 121. Además, el
controlador 120 almacena una copia del paquete de datos transmitido
en la RAM 105, en un lugar que se indexa por el número de secuencia
corriente. En consecuencia, el controlador 120 puede acceder
fácilmente a un paquete de datos que esté almacenado en la RAM 105
utilizando el número de secuencia asociado con el paquete como
índice para acceso a la RAM 105.
El transmisor 100 incluye, también, una memoria
intermedia 130 de lista de transmisión que puede formarse a partir
de varias posiciones de memoria RAM en secuencia. Tal número puede
corresponder, por conveniencia y no como limitación, al rango de
números generados por el generador 125. De acuerdo con un aspecto
del invento, el controlador 120 almacena, en la memoria intermedia
130, el número de secuencia de un paquete que transmite en
asociación con un número generado por el generador 145, cuyo número
es indicativo del orden de cada paquete de datos que transmite el
controlador 120, incluyendo paquetes de datos que retransmite el
controlador 120. La razón para mantener la lista 130 de transmisión
se pondrá de manifiesto en lo que sigue.
Refiriéndonos a las Figs. 1 y 2, el receptor 200
incluye una antena 221 para recibir paquetes de datos que han sido
modulados por la frecuencia portadora del canal de radio antes
mencionado. Tales recepciones son recibidas por el desmodulador 225,
que desmodula el contenido del canal de radio, conforma el resultado
a modo de paquete de datos y almacena el paquete en una memoria
intermedia asociada. El controlador 205 de recepción, a su vez,
descarga los paquetes de la memoria intermedia del desmodulador 225
en el orden en que se almacenan en ella los paquetes. El controlador
205 comprueba cada uno de dichos paquetes para ver si contienen
algún error. Típicamente, tales errores ocurren como resultado de
que un paquete sea sometido a la acción de ruido cuando se propaga
por al aire como una onda de radio. Si el controlador 205 de
recepción encuentra que el paquete recibido contiene un error,
entonces el controlador 205 desecha el paquete. Si el paquete
recibido no contiene error alguno, entonces el controlador 205
almacena el paquete en la memoria intermedia 210 de recepción a
través de una línea 206 de comunicaciones en una posición indexada
por el número de secuencia que el transmisor 100 anexó al paquete.
Después, el controlador 205 descarga de la memoria intermedia 210
los paquetes que están en secuencia y los pasa en orden al control
250 de capa superior por la línea 211 de comunicaciones. Por
ejemplo, si la memoria intermedia 210 almacena paquetes con los
números 21 a 24 y 26, entonces el controlador 205 pasa los paquetes
21 a 24 a la capa 250 de control superior, pero no así el paquete
26, por estar fuera de la secuencia. El controlador 205 sólo pasa el
paquete 26 a la capa 250 de control superior después de que el
paquete 25 haya sido recibido correctamente y almacenado en la
memoria intermedia 210.
Para saber qué paquetes han sido recibidos
correctamente, incorrectamente o qué paquetes no se han recibido, el
controlador 205 de recepción mantiene en la RAM 215 un mapa 216 de
bitios formado a partir de varios bitios correspondientes con unos
respectivos del rango antes mencionado de números de secuencia.
Cuando el controlador 205 de recepción recibe correctamente un
paquete de datos, asigna entonces un valor binario particular, por
ejemplo un uno binario, al bitio cuya posición en el mapa de bitios
se corresponde con el número de secuencia contenido en ese paquete
de datos. Por ejemplo, si ocurre que el número de secuencia de un
paquete correctamente recibido es, por ejemplo, 27, entonces el
controlador 205 le asigna al bitio situado en la posición 27 del
mapa 216 de bitios, el valor de uno binario. Si, por otra parte, se
recibe incorrectamente, por cualquier razón, un paquete de datos o
no se recibe en absoluto, entonces el valor del bitio
correspondiente del mapa de bitios se fija al valor binario opuesto,
por ejemplo, cero binario.
Periódicamente, el receptor 200 envía al
transmisor 100 a través del modulador 220 de memoria intermedia, un
mensaje de control de estado que indica, entre otras cosas, qué
paquetes fueron recibidos correctamente y cuáles no (o no se
recibieron). (En lo que sigue, al hacer referencia a paquetes que no
se recibieron correctamente, incluiremos también aquéllos paquetes
que no fueron recibidos). Un ejemplo ilustrativo de un mensaje de
control de estado se representa en la Fig. 3. En particular, el
campo de comprobación de error contiene un código de comprobación de
error usual que le permita al transmisor 100 determinar si el
mensaje de control de estado contiene o no errores que puedan
deberse a ruido de canal y a desvanecimiento. El campo NR contiene
un número de secuencia mayor en una unidad que el del último
paquete de datos que el receptor hizo pasar a su respectiva capa de
control superior. El campo NL contiene el paquete con el número de
secuencia más alto de los que fueron recibidos correctamente por el
receptor. El campo de mapa de bitios, "bmf" se forma a partir
del mapa de bitios 216 (Fig. 1) y constituye el medio por el que el
receptor 200 "le dice" al transmisor 100 qué paquetes de datos
fueron recibidos correcta o incorrectamente. Las posiciones de
bitios del campo "bmf" se corresponden con números de secuencia
de paquetes de datos relacionados con el número de secuencia
contenido en el campo NR del mensaje de estado asociado, en la forma
antes descrita. Similarmente, el valor de un bitio del campo bmf
indica si el paquete de datos correspondiente se recibió
correctamente (por ejemplo, un uno binario) o incorrectamente (por
ejemplo, un cero binario), como se ha mencionado en lo que antecede.
Por ejemplo, si ocurre que el valor en el campo NR es 8, entonces el
bitio NR+1 se corresponde con el paquete de datos 9, el bitio NR+2
con el paquete de datos 10, el bitio NR+3 con el paquete de datos
11, y así sucesivamente.
Si el nivel de tráfico que el receptor 200 envía
al transmisor 100 no es "intenso", entonces el receptor 200
transmite periódicamente, a través de la memoria intermedia 220, el
mensaje de control, o de estado, de la Fig. 3. Si dicho tráfico es
relativamente intenso y se requiere un elevado nivel de rendimiento
sostenido en ambas direcciones (funcionamiento dúplex), entonces el
receptor 200 transmite una versión parcial del mismo, tal que el
receptor 200 anexa el mensaje parcial de control de estado a un
paquete de información de usuario. Un ejemplo ilustrativo de un
mensaje parcial "a" de control se representa en la Fig. 4 y
está constituido por varios campos, por ejemplo, tres campos. Los
campos b, c y d contienen, respectivamente, un número de grupo, un
bitio que indica si NR se encuentra en este grupo y un mapa parcial
de bitios que comprende, por ejemplo, ocho bitios. El número de
grupo, más particularmente, es una dirección que identifica un
grupo, por ejemplo un octeto, de bitios contenidos en el mapa de
bitios 216. Los bitios que forman el campo d representan,
respectivamente, el estado del grupo de bitios identificado.
Así, cuando el tráfico es intenso, el receptor
200 puede transmitir, en lugar de un mensaje completo de control de
estado, varios mensajes parciales de control de estado, cada uno de
ellos anexado a un paquete de información respectivo. De este modo,
el receptor 200 no sobrecarga el ancho de banda del canal inverso,
desde el receptor al transmisor, durante períodos de tráfico
intenso, como se expondrá con detalle en lo que sigue.
Volviendo a la Fig. 1, el desmodulador 140 de
memoria intermedia vigila el canal de radio inverso que va desde el
receptor 200 al transmisor 100 y desmodula la señal portadora
transmitida por ese canal. Tal desmodulación tiene como consecuencia
la formación de un mensaje (paquete) que ha sido transmitido por el
receptor 200. El desmodulador 140 de memoria intermedia almacena
cada uno de tales mensajes recibidos en la memoria asociada, que es
descargada por el controlador 120. Como se ha mencionado
anteriormente, tal mensaje puede ser un mensaje de control de estado
del tipo ilustrado en la Fig. 3 (denominado, también, en lo que
sigue, mensaje "completo" de control de estado). Tal mensaje
puede ser, también, un paquete de información, con o sin mensaje
parcial de control de estado anexado al mismo.
Cuando el controlador 120 descarga un mensaje
(paquete) de la memoria intermedia 140, examina el mensaje para
determinar si es un paquete de información o un mensaje completo de
control de estado. En el primer caso, el controlador 120 suministra
entonces el paquete de información a un receptor 200 asociado (no
mostrado) y a 225. Antes de proceder así, el controlador 120 elimina
cualquier mensaje parcial de control de estado que pueda haber sido
anexado al paquete de información. Si el paquete recibido es un
mensaje completo de control de estado, entonces el controlador 120
graba sobre un mapa de bitios contenido en la RAM 105 empleando el
contenido del mensaje de control de estado, en el que el mapa de
bitios está dispuesto de manera similar al mapa de bitios 216. El
controlador 120 determina entonces cuáles de los paquetes de datos
que transmitió fueron recibidos correcta o incorrectamente por el
receptor 200 en función del contenido del mapa de bitios almacenado
en la RAM 105 y de los valores de NR y NL contenidos en el mensaje
de control de estado recibido. El transmisor 100 retransmite
entonces los paquetes de datos que el receptor 200 recibió
incorrectamente. Sin embargo, para asegurarse contra retransmisiones
múltiples innecesarias del mismo paquete de datos, el controlador
120 mantiene en la memoria intermedia 130 de transmisión (Fig. 1)
una lista de los números de secuencia de respectivos paquetes de
datos que el controlador 120 ha transmitido, como se ha mencionado
en lo que antecede. El controlador 120 asocia también cada paquete
que transmite por la memoria intermedia 135 con un número de orden
de transmisión, como se muestra en la Fig. 5 y como se ha mencionado
en lo que antecede.
Para los fines de la siguiente exposición,
supondremos, por ejemplo, que el controlador 120 ha transmitido
varios paquetes de datos asociados con los números de secuencia 50 a
54, respectivamente, al receptor 200 a través del modulador 135 de
memoria intermedia. Al hacerlo, el controlador almacena cada paquete
en la memoria intermedia 130 de transmisión en el orden en que es
transmitido. El controlador 120 asocia, también, cada uno de tales
paquetes de datos almacenados con un número de orden de transmisión
en secuencia, como se ilustra en la Fig. 5. Por ejemplo, se ve que
el controlador 120 tiene asociados paquetes transmitidos con números
de secuencia del 50 al 54 con números de orden de transmisión del
831 al 835, respectivamente. Supongamos en este punto que el
transmisor 100 recibe un mensaje completo de control de estado
procedente del receptor 200 después de transmitir el paquete núm. 54
pero antes de transmitir el paquete núm. 55. Supongamos también que
los valores de NR y NL contenidos en el mensaje recibido son 51 y
54, respectivamente, y que excepto para las posiciones de bitios NR
y NR+1, todas las posiciones de bitios hasta la NR+3, inclusive (es
decir, la 54) del mapa de bitios recibido, se fijan al valor de uno
binario.
El controlador 120, en respuesta a tales
contenidos, determina qué paquetes transmitidos fueron recibidos (a)
correctamente y fueron hechos pasar a la capa 250 de control
superior (por ejemplo, el paquete núm. 50), (b) correctamente, pero
fuera de secuencia (por ejemplo, los paquetes núms. 53 y 54), o (c)
incorrectamente o no fueron recibidos (por ejemplo, los paquetes
núms. 51 y 52). Basándose en el valor de NR, el controlador 120
borra de la lista los números de secuencia hasta el 50, inclusive,
ya que esos paquetes fueron recibidos correctamente y en secuencia.
El controlador 120 borra, también, los paquetes asociados de la
memoria intermedia 130 de transmisión. Sin embargo, el controlador
120 no borra los números de secuencia 53 y 54 de la lista, sino que
los marca indicando que se les ha acusado recibo. La razón de esto
es que, si bien esos paquetes fueron recibidos correctamente, lo
fueron fuera de secuencia. El controlador 120, utilizando la lista
500 determina entonces a que paquetes no se acusó recibo y están
asociados con números de orden de transmisión con valores inferiores
al número de orden de transmisión más alto (denominado en lo que
sigue SL) asociado con un paquete al que se acusó recibo (por
ejemplo, el 54). Al hacer esto, el controlador 120 establece 835
como valor de SL y almacena el valor corriente de SL en la memoria
asociada. El controlador 120 determina entonces que los números de
secuencia 51 y 52 están asociados con los números de orden de
transmisión 832 y 833, que son menores que SL y marca los paquetes
núms. 51 y 52 para que sean retransmitidos. Basándose en ese
resultado, el controlador 120 suministra el paquete núm. 51 a la
memoria intermedia 135 de transmisión para que sea retransmitido al
receptor 200. Cuando ha sido transmitido el último paquete, entonces
el controlador 120 suministra el paquete núm. 52 a la memoria
intermedia 135 para su retransmisión. Al hacer esto, el controlador
120 vuelve a incluir los últimos números de la secuencia en la lista
500 a continuación de la entrada del número de secuencia 54, como se
muestra en 501 y 502, respectivamente. Además, el controlador 120
asocia las últimas entradas con los números de orden de transmisión
sucesivos 836 y 837, respectivamente, para identificar la última
secuencia transmitida para esos paquetes. El controlador 120
transmite entonces, por turno, los paquetes asociados con los
números de secuencia 55 a 57 e introduce esos números en la lista
500 a medida que son suministrados a la memoria 135. Además, el
controlador 120 asocia los últimos números de secuencia con los
números de orden de transmisión 838 a 840, respectivamente, como se
muestra en la Fig.
Supongamos, en este punto, que el transmisor 100
recibe un mensaje de control de estado a continuación de la
transmisión del paquete núm. 57, pero antes de la transmisión del
paquete núm. 58. Supongamos, también, que NR y NL son, también,
iguales a 51 y 54, respectivamente, y que excepto para NR, todos los
bitios del mapa de bitios hasta NR+3 (inclusive), tienen un valor
binario de uno. Similarmente, el controlador 120 borra de la memoria
intermedia todos los paquetes asociados con números de secuencia
inferiores a NR. Sin embargo, como se ha expuesto previamente, el
controlador 120 no borra los paquetes que se recibieron
correctamente, pero fuera de secuencia. El controlador 120 comprueba
entonces la tabla 500 para determinar cual de los paquetes a que se
acusó recibo últimamente está asociado con el número de orden de
transmisión más alto. Al hacerlo, el controlador 120 encontraría que
el número de orden de transmisión más alto está asociado con el
paquete núm. 52 retransmitido (entrada 502) y, por tanto, asigna a
SL el valor 837. El controlador determina, además, que el número de
orden de transmisión asociado con el paquete 51 retransmitido y al
que no se acusó recibo, es 836 y es menor que SL. En consecuencia,
el controlador 120 suministra el paquete núm. 51 a la memoria
intermedia 135 para su retransmisión y, cuando se ha transmitido ese
paquete, es decir, cuando está vacía la memoria intermedia 135, el
controlador 120 suministra entonces, por vez primera, el paquete 58
a la memoria intermedia 135. Además, los números de secuencia 51 y
58 se añaden a la lista 500 en el orden en que son transmitidos y se
les asocia con los números de orden de transmisión 841 y 842,
respectivamente.
Supongamos en este punto que el transmisor 100
recibe un mensaje de control de estado a continuación de la
transmisión del paquete núm. 58 pero antes de la transmisión del
paquete núm. 59. Supongamos, también, que NR y NL son iguales a 51 y
57, respectivamente, y que excepto para NR y NR+5, todos los bitios
del mapa de bitios hasta NR+6 inclusive tienen un valor binario de
uno. Similarmente, el controlador 120 borra de la memoria intermedia
todos los paquetes asociados con los números de secuencia inferiores
a NR. Similarmente, el controlador 120 no borrar los paquetes que se
recibieron correctamente, pero fuera de secuencia, a saber los
paquetes núms. 52 a 55 y 57. El controlador 120 comprueba entonces
la tabla 500 para determinar cual de los paquetes a que se acusó
recibo últimamente entre NR y NL están asociados con el número de
orden de transmisión más alto. Al hacerlo, el controlador 120
encuentra que el número de orden de transmisión más alto está
asociado con el paquete transmitido núm. 57, como se observa en la
entrada 503 y, por tanto, asigna 840 a SL. En consecuencia, el
controlador 120 suministra el paquete núm. 56 (NR+5) a la memoria
intermedia 135 para su retransmisión, ya que el mapa de bitios
recién recibido indica que ese paquete no ha sido recibido
correctamente y que el número de orden de transmisión asociado con
él (es decir, el 839) es menor que el SL corriente. Sin embargo, el
controlador 120 no retransmite el paquete núm. 51 aún cuando el
nuevo mapa de bitios indica todavía que ese paquete se recibió
incorrectamente. La razón para no retransmitir el paquete núm. 51 es
que el número de orden de transmisión asociado en este momento con
el paquete núm. 51 retransmitido (es decir, el 841) es mayor que el
valor corriente de SL (840).
Supongamos en este punto que a continuación de la
retransmisión del paquete núm. 56, se cierra el intervalo de
transmisión que, en este caso, se suponía que tenía una dimensión de
8. Esto quiere decir que el transmisor no puede transmitir el
paquete con el número de secuencia 59 hasta que se haya acusado
recibo al paquete con el número de secuencia 51 (59 menos la
dimensión del intervalo). Además, todos los paquetes transmitidos
pero a los que no se ha acusado recibo (por ejemplo, los núms. 51,
56 y 58) no pueden ser retransmitidos, debido al valor corriente de
SL. En disposiciones anteriores, cuando el intervalo se cierra y no
pueden retransmitirse paquetes, el transmisor deja de transmitir
paquetes, incluyendo aquéllos a los que todavía no se ha acusado
recibo, tales como los paquetes núms. 56, 51 y 58. Hemos reconocido
que es más ventajoso transmitir todos los paquetes a los que no se
ha acusado recibo durante el tiempo en que está cerrado el intervalo
y no hay paquetes marcados para transmisión, en lugar de permitir
que el transmisor entre en un estado de espera y finalice su
transmisión de paquetes durante ese tiempo, como se hacía
anteriormente. Así, cuando se cierra el intervalo y no hay paquetes
marcados para transmisión, el transmisor 100 entra en un estado de
retransmisión preferente durante el que retransmite automática y
continuamente en forma secuencial y cíclica paquetes a los que no se
ha acusado recibo que, en el presente ejemplo ilustrativo serían los
paquetes núms. 56, 51 y 58.
En consecuencia, en este momento, el controlador
120 suministra los paquetes núms. 56, 51 y 58, a su vez, a la
memoria intermedia 135 de transmisión para su transmisión
(retransmisión) al receptor 200 y, similarmente, añade esos números
a la lista 500 en asociación con respectivos números de orden de
transmisión sen secuencia, como se muestra en 505 a 507. Estos
paquetes son transmitidos, en orden, desde el número de orden de
transmisión más bajo al más alto. Además, el controlador 120
establece un bitio de copia múltiple para cada uno de esos paquetes
retransmitidos de manera preferente como modo de identificar qué
paquetes han sido retransmitidos de manera preferente, como se
muestra en la columna 510 de la lista 500. El controlador 120
retransmite de nuevo, con preferencia, los paquetes núms. 56 y 51, a
su vez, e incorpora similarmente esos números en la lista 500 junto
con el establecimiento del bitio de copia asociado, como se muestra
en 508 y 509.
Supongamos en este punto que antes de que el
controlador 120 transmite de modo preferente el paquete núm. 58 por
segunda vez, el transmisor 100 recibe un mensaje de control de
estado. Supongamos también que NR y NL contenidos en el mensaje de
control de estado recién recibido son iguales a 51 y 57,
respectivamente, y que excepto para NR, todos los bitios del mapa de
bitios hasta NR+7, inclusive, tienen un valor binario de uno. De
forma similar, el controlador 120 borra de la memoria intermedia
todos los paquetes asociados con los números de secuencia que sean
menores que NR. Igualmente, el controlador 120 no borra los paquetes
que se recibieron correctamente, pero fuera de secuencia. Sin
embargo, el controlador 120 no cambia SL y deja el valor de SL
fijado en 840 en tanto el intervalo esté cerrado. Así, el transmisor
no actualiza SL utilizando el número de orden de transmisión de un
paquete al que se ha acusado recibo cuando su bitio de copia
asociado ha sido establecido. La razón para esto es que pueden
haberse transmitido múltiples copias del paquete y, por tanto, sería
difícil determinar que número de orden de transmisión debe
utilizarse para actualizar SL.
Como, en este punto, se ha acusado recibo, por el
receptor 200, a la recepción de los paquetes núms. 56 y 58, el
transmisor 100 sólo retransmite de manera preferente, entonces, el
paquete núm. 51. Al hacerlo, el controlador 120 asocia el paquete
núm. 51 con los números de orden de transmisión 851, 852 y 853 cada
vez que es retransmitido, y establece el bitio de copia en
consecuencia, como se muestra en la tabla 500. Supongamos, en este
punto, que se recibe un mensaje de control de estado desde el
receptor 200, en el que NR es igual a 59 y NL es igual a 58. En ese
punto, el valor de SL se mantiene en 840, ya que el intervalo ha
estado cerrado y el controlador 120 ha estado en el modo de
retransmisión preferente como resultado del cierre del intervalo y
no se han marcado paquetes para retransmisión. Supongamos, sin
embargo, que basándose en los resultados del mensaje de control de
estado recibido, se abre el intervalo de transmisión. Como resultado
de ello, el controlador 120 puede transmitir, entonces, en la manera
descrita en lo que antecede los siguientes paquetes de la secuencia,
a saber, los paquetes que comienzan con el número de secuencia 59,
como se muestra en la tabla 500.
Como se ha mencionado anteriormente, durante los
períodos de tráfico intenso entre el transmisor 100 y el receptor
200, el receptor 200 puede empezar a transmitir mensajes parciales
de control de estado, en lugar de un mensaje completo de control de
estado. Como también se ha dicho en lo que antecede, un mensaje
parcial de control se refiere a un grupo de paquetes de datos, por
ejemplo, ocho paquetes, cuyo estado de recepción está definido por
un grupo de bitios, por ejemplo, ocho bitios, que representan un
mapa parcial de bitios. El receptor 200 anexa el grupo de bitios y
un número de grupo respectivo a un paquete de información de usuario
que es transmitido al transmisor 100, como antes se ha mencionado.
El transmisor 100, en respuesta a la recepción de tal paquete de
información "desprende" el mensaje parcial de control y, luego,
envía el paquete de información a la memoria intermedia 225 del
receptor. El transmisor 100 trata entonces el mensaje parcial de
control de estado con respecto a sólo los paquetes de datos que
están identificados indirectamente en el mensaje.
Supongamos específicamente, en este punto, que el
rango de números de secuencia va de cero a 127 y que el controlador
120 acaba de transmitir paquetes de datos que llevan los números de
secuencia 45 a 48, respectivamente. Supongamos, también, que el
controlador 120 tiene asociados los últimos paquetes de datos con
los números de orden de transmisión 731 a 734, respectivamente, y
tiene almacenada esa información en su tabla 500 de transmisión
asociada, como se muestra en la Fig. 6. Se ve que la Fig. 6 es
similar a la Fig. 5, con la excepción de que la Fig. 6 incluye ahora
un campo 520 adicional de habilitar transmisión, que se describe más
adelante. (Además, como se describirá en lo que sigue, la tabla 500
de la Fig. 6 comprende 128 líneas asociadas con los números de
secuencia 0-127, respectivamente).
Supongamos, asimismo, en este punto, que después
de transmitir el paquete núm. 48, pero antes de transmitir el núm.
49, el transmisor 100 recibe del receptor 200, un paquete 8 de
información que lleva un mapa parcial de bitios. Una realización
ilustrativa de este último paquete se muestra en la Fig. 7.
Refiriéndonos a ambas Figs. 6 y 7, se ve que el mapa parcial de
bitios "a" del paquete 8 está dirigido al grupo número cinco
(5), señalando por tanto que los ocho bitios asociados son
indicativos del estado de recepción (se ha acusado recibo (ACK) o no
se ha acusado recibo (UNAK)) de los paquetes asociados con ese
grupo, a saber, los paquetes de datos asociados con los números de
secuencia 40 a 47, respectivamente. El subcampo "c", cuando se
establece en un 1 binario, indica que NR está representado por la
primera posición de bitio cero del mapa parcial de bitios asociado
y, cuando se establece en un cero binario, indica que NR no está en
el grupo. (El campo designado con "e" en el paquete 8
representa el resto del paquete).
Supongamos, además, que el receptor 200 recibió
correctamente los números de secuencia de paquetes cero a 44, es
decir, los grupos cero a cuatro y que ha notificado al transmisor
100 de ese hecho a través de respectivos mapas parciales de bitios.
Como tal, el receptor 200 no repite la transmisión de los últimos
mapas parciales de bitios ya que esos paquetes han sido recibidos
correctamente y se ha notificado debidamente de ello al transmisor
100 y NR se asocia ahora con el grupo 5. Supongamos, en este punto,
que el transmisor 100 ha recibido mapas de bitios que indican que NR
es igual a 45 y que NL es igual a 44. Sin embargo, el receptor 200
continúa transmitiendo un mapa parcial de bitios para un grupo de
paquetes si uno cualquiera o más de esos paquetes ha sido recibido
incorrectamente, como se describe en lo que sigue. Además, si los
paquetes de más de un grupo no se han recibido correctamente,
entonces el receptor 200 transmite los mapas parciales de bitios
asociados al transmisor 100 en forma cíclicamente ordenada como se
describirá en lo que sigue. Cuando el receptor 200 ha recibido
correctamente todos los paquetes de datos pendientes y NR=NL+1,
entonces el receptor 200 continúa enviando mapas de bitios que
identifican NR mediante el campo "c" en tanto continúe
recibiendo paquetes de datos de cualquier tipo.
Específicamente, en respuesta a la recepción del
paquete de información 8 de la Fig. 7 (que se recibe después de la
transmisión del paquete 48, Fig. 6), el transmisor 100 desprende el
mapa parcial de bitios "a", como antes se ha mencionado.
Basándose en el mapa parcial de bitios recibido. NR=46, NL=45.
Además, SL es igual a 731, que es mayor que el valor previo de SL.
Así, SL se establece igual a 731. Utilizando esa información, el
transmisor 100 trata el mapa parcial de bitios de manera similar al
modo en que trata un mapa de bitios completo. Al hacerlo, el
controlador 120 introduce un uno en el campo de habilitar
retransmisión asociado con los números de secuencia de los paquetes
que retransmitirá al receptor 200. Sin embargo, el controlador 120
no marca (habilita) los paquetes núms. 46 y 47 para retransmisión
aún cuando el mapa de bitios 8 recibido indique que no se acusó
recibo a esos paquetes (UNAK). La razón para no marcar esos paquetes
para retransmisión es que esta información resulta ambigua, ya que
el número de secuencia más alto recibido, NL, es igual a 45. Esto
puede ocurrir cuando el receptor 200 todavía no ha recibido los
paquetes núms. 46 y 47. El controlador 120 procede, entonces, a
suministrar, a su vez, a la memoria intermedia 135 los paquetes a
transmitir núms. 49 a 51, para su transmisión al receptor 200.
Supongamos que después de transmitir el último paquete, pero antes
de transmitir el paquete núm. 52, el transmisor 100 recibe el
paquete de información 9. Similarmente, el controlador 120 desprende
el mapa parcial de bitios "a" del paquete de información 9 y
envía el paquete al destino proyectado.
Se ve que el campo "a" del paquete 9 indica
que el mapa de bitios está asociado con el grupo 6 que comprende los
paquetes núms. 48 a 55 y que NR no está en este grupo. Además, NR es
todavía igual a 45, NL es igual a 49 y SL es igual a 735. (Como 735
es mayor que el valor de SL (es decir, 731), entonces SL se hace
igual a 735). Como tal, y como resultado del tratamiento del mapa de
bitios, el controlador marca (habilita utilizando un valor de uno)
el campo de habilitar retransmisión asociado con el número de
secuencia 48, ya que su número de orden de transmisión 734 es menor
que SL (735). (Aunque el estado de los paquetes con números de
secuencia 46 y 47 no puede obtenerse a partir del mapa parcial de
bitios corriente, tal estado estará disponible al recibirse un mapa
parcial de bitios para el grupo 5, o si NR pasa al grupo 6). Después
de tal marcación, el controlador 120 retransmite entonces el paquete
núm. 48 basándose en el campo de habilitar retransmisión asociado,
así marcado. Supongamos que el controlador 120 procede, entonces, a
transmitir el paquete núm. 52 y recibe el paquete de información 10
después de transmitir el último paquete.
Asimismo, el paquete 10 lleva un mapa parcial de
bitios que contiene NR e, implícitamente, acusa recibo a todos los
paquetes con número de secuencia menores que NR. Como consecuencia
del tratamiento, por el controlador 120, del mapa parcial de bitios,
NR se hace igual a 48 e, implícitamente, se acusa recibo de los
paquetes núms. 46 y 47. SL sigue siendo 735 ya que los números de
orden de transmisión asociados con los paquetes núms. 46 y 47 son
menores que 735. En consecuencia, el controlador 120 no retransmite
paquete alguno, sino que procede a transmitir el paquete de
información 53.
Supongamos, en este punto, que el transmisor 100
recibe el paquete de información 11 desde el receptor 200 y
desprende el mapa de bitios "a" y envía el resto al receptor
proyectado. Como resultado del tratamiento del último mapa de
bitios, NR sigue siendo igual a 48, pero NL y SL cambian a 52 y 739,
respectivamente. En consecuencia, el controlador 120 marca los
campos para habilitar transmisión asociados con los números de orden
de transmisión 737 y 738, ya que el receptor 200 no ha acusado
recibo de los paquetes asociados pero ha acusado recibo del paquete
núm. 52 asociado con el número de orden de transmisión 739. Después
de tal marcación, el controlador 120 retransmite, a su vez, los
paquetes núms. 48 y 51 y asocia esos paquetes con los números de
orden de transmisión 741 y 742, respectivamente.
Supongamos a continuación que el transmisor 100
recibe el paquete de información 12, que es tratado en forma similar
por el controlador 120. Como resultado de ello, NR, NL y SL se
hacen, respectivamente, iguales a 53, 52 y 739. Basándose en esos
valores, el controlador 120 concluye que el receptor 200 ha acusado
recibo de todos los paquetes a través del núm. 52 de secuencia y,
por tanto, no hay más paquetes que tengan que ser retransmitidos
necesariamente. En consecuencia, el transmisor continúa su
transmisión de paquetes de datos suministrando el paquete núm. 54 a
la memoria intermedia de transmisión 135.
En una realización preferida del invento, la
tabla 500 contiene solamente 128 entradas asociadas con los núms. de
secuencia 0 a 127, respectivamente, como antes se ha mencionado.
Como tal, la tabla 500 es de dimensión fija y en ella sólo cambia el
contenido de los campos de número de orden de transmisión, estado de
acuse de recibo, bitio de habilitar retransmisión y bitio de copia
de una línea. Por ejemplo, la Fig. 6 contiene el paquete núm. 48
tres veces en asociación con los números de orden de transmisión
734, 738 y 741, respectivamente. En la práctica, el número de
secuencia 48 solamente se encuentra una vez en la tabla 500, aún
cuando sea retransmitido varias veces. Es decir, según el ejemplo
anterior, la segunda vez que se transmite el paquete núm. 48, el
número de orden de transmisión 734 es sustituido por el número 738
en la entrada 48. De forma similar, la tercera vez que se transmite
el paquete núm. 48, el número de orden de transmisión 738 es
sustituido por el 741, y así sucesivamente.
La lógica que lleva a la práctica el invento en
el receptor 200 se muestra en las Figs. 8 y 9 en forma de diagrama
de proceso. Refiriéndonos en primer lugar a la Fig. 8, el programa
se inicia en el bloque 800, cuando se recibe un paquete de datos que
no contiene errores y se pasa al bloque 801. En el bloque 801, el
programa compara el número de secuencia (en lo que sigue, "SN")
contenido en el paquete recibido con el valor corriente de NR. Si SN
no está comprendido entre NR y (NR+intervalo-1),
ambos inclusive, ello quiere decir que el receptor ya ha recibido
ese paquete, entonces el programa desecha el paquete recibido y,
luego, termina en el bloque 802 para esperar a recibir el siguiente
paquete. (Obsérvese que todas las operaciones sobre las variables
SN, NR, NL y NG son operaciones de módulo determinadas por el rango
de cada variable, a saber, 128, 128, 128 y 16, respectivamente,
Asimismo, se aplican operaciones de comparación a valores válidos en
el intervalo corriente, es decir, entre NR e
(intervalo-1), ambos inclusive. Si el intervalo
abarca el valor 0 (cero), entonces se adoptan operaciones apropiadas
para mantener el sentido natural de la operación). De otro modo, el
programa pasa al bloque 803, donde determina si el mapa de bitios
RCVR_STATE tiene un valor de 1 (uno) en la posición correspondiente
al número de secuencia SN. Si ese es el caso, entonces el receptor
deduce que ya ha recibido un paquete con este número de secuencia y,
por tanto, termina en el bloque 802. Si no es el caso, entonces el
programa pasa al bloque 804, en el que almacena el paquete de datos
recibido en secuencia en la memoria intermedia 210 y, luego,
actualiza el mapa de bitios almacenado en la memoria 215 en la forma
descrita en lo que antecede. El programa pasa entonces al bloque
805, donde comprueba si SN es mayor que NL. Si es así, entonces el
programa pasa al bloque 806, en el que actualiza NL con un valor
igual a SN. Luego, el programa pasa al bloque 807.
En el bloque 807, el programa determina si NR es
igual SN. Si no lo es, entonces no hay disponibles datos nuevos en
secuencia para entrega al control 250 de capa superior y, por tanto,
el programa termina en 811. De otro modo, el programa concluye que
tales datos están disponibles y sigue al bloque 808. En el bloque
808, el programa determina el nuevo calor para NR basándose en el
número de paquetes en secuencia disponibles para entrega a la capa
superior. A continuación de esto, el programa determina entonces el
número de secuencia que corresponde a la primera entrada en
RCVR_STATE que sea igual a cero. Este es el nuevo valor de NR. El
programa continúa luego al bloque 809, en el que pasa, a la capa
superior, todos los paquetes de datos en secuencia que tengan
números comprendidos entre el valor previo de NR y uno menos que el
nuevo valor de NR. El programa termina luego por el bloque 812.
Volviendo ahora a la Fig. 9, el programa
receptor, que genera un mensaje de control de estado, parcial y
completo, se inicia en el bloque 900, desde el que pasa al bloque
901. En el bloque 901, el programa genera un mensaje completo de
control de estado basándose en el mapa de bitios almacenado en la
memoria RAM 215 y en los valores corrientes de NR y NL. El programa
almacena luego (bloque 902) el mensaje completo de control de estado
en la memoria intermedia 220. En el bloque 903, el programa
incrementa el valor de NG y comprueba (bloque 904) si el valor de NL
es menor que el valor de NG multiplicado por 8 (bloque 906), que el
valor corriente de NG es menor que la parte entera del resultado
obtenido a partir de NR/8. Si el resultado de la comprobación es
"verdad", entonces el programa (bloque 905) asigna a NG el
valor de la parte entera del resultado obtenido a partir de NR/8 e
indica que NR está repreentado por el primer valor 0 (cero) del mapa
de bitios. El programa (bloque 907) genera entonces un mensaje
parcial de control de estado utilizando el estado de los bitios en
el mapa de bitios 216 que están asociados con el grupo especificado
por el valor de NG. El programa (bloque 908) almacena entonces el
mensaje parcial de control de estado en la memoria intermedia 220.
El programa termina entonces por el bloque 909.
En la memoria intermedia 220, el mensaje completo
de control de estado es transmitido, si no hay almacenado en la
memoria intermedia 220 ningún paquete de información de usuario. Si
hay almacenado un paquete de información de usuario, entonces la
memoria intermedia 220 le anexa el mensaje parcial de control de
estado y, luego, transmite el resultado.
La Fig. 10 ilustra el programa que se ejecuta en
el transmisor 100 cuando se recibe un mensaje de control de estado.
Específicamente, el programa se inicia en el bloque 1000, desde
donde sigue al bloque 1001. En el bloque 1001, el programa pasa al
bloque 1002 si el mensaje de estado es un mensaje completo de
control de estado. De otro modo, continúa al bloque 1004.
En el bloque 1002, el programa actualiza el
contenido del mapa completo de bitios que está almacenado en la RAM
105 y actualiza los valores de NR y NL en la forma especificada por
los datos del mensaje de estado recibido. El programa determina, a
continuación, el valor de SL que es el mayor del SL corriente y los
números de orden de transmisión de los paquetes a los que se acaba
de acusar recibo y, luego, sigue al bloque 1003 en donde marca los
bitios de habilitar de los paquetes que han de ser retransmitidos y
cuyos números de orden de transmisión son menores que SL. El
programa termina luego por el bloque 1011.
En el bloque 1004, el programa comprueba si NR
está contenido en el mensaje parcial de control de estado recibido
(a través del campo "c", Fig. 4). Si lo está, entonces el
programa (bloque 1005) determina el valor de NR basándose en los
valores binarios de los bitios que forman el octeto asociado. El
programa (bloque 1006) determina a continuación el nuevo valor de NL
para el último octeto de bitios. El programa (bloque 1007) comprueba
entonces si NLnuevo es mayor que el valor corriente de NL, y hace NL
igual a NLnuevo si ese es el caso (bloque 1008). El programa (bloque
1009) marca entonces los paquetes de datos a los que se ha acusado
recibo y, luego, actualiza el valor de SL basándose en el contenido
del mensaje parcial de control de estado. El programa (bloque 1010)
establece entonces los bitios de habilitar retransmisión para los
paquetes de datos a los que, según el último mensaje de control, no
se había acusado recibo y cuyo número de orden de transmisión (SSN)
es menor que SL. Luego, el programa termina.
El programa de la Fig. 11 se inicia en el bloque
1100 siempre que la memoria intermedia 135 de transmisión esté
vacía. Específicamente, el programa determina en primer lugar qué
paquete ha de ser retransmitido, si se ha de retransmitir alguno. El
programa consigue esto a través de los bloques
1101-1103, 1107 y 1108, que representan un bucle del
programa que busca en la tabla 500 (Fig. 5 o 6), comenzando en NR,
para localizar el número de secuencia más bajo para un paquete al
que no se haya acusado recibo, cuyo bitio de habilitar retransmisión
tenga como valor uno. Si se encuentra ese número de secuencia,
entonces el programa (bloque 1104) despeja el bitio de habilitar
retransmisión para ese número de secuencia y asocia el número de
secuencia con el siguiente número de orden de transmisión en
secuencia (SSN). El programa almacena entonces (bloque 1105) el
paquete asociado en la memoria intermedia 135 y, luego, termina.
Después, el programa se inicia de nuevo en el bloque 1100, cuando la
memoria intermedia 135 está, de nuevo, vacía.
Si no se encuentra paquete alguno que tenga un
número de secuencia comprendido entre NR y NRmáximo con su bitio de
habilitar transmisión asociado con valor uno, entonces el programa
pasa al bloque 1109. En el bloque 1109, el programa comprueba si
NRmáx es menor que NR + (intervalo de transmisión). Si lo es,
entonces el programa (bloque 1110) comprueba si la memoria
intermedia 110 contiene un paquete de datos. Si lo contiene,
entonces el programa (bloque 1111) asocia ese paquete con el
siguiente número de la secuencia, así como con el siguiente número
de orden de transmisión en secuencia y almacena el resultado en la
RAM 105. Luego, el programa almacena el paquete en la memoria
intermedia 135 para transmisión al receptor 200. Luego, el programa
termina.
Si se encuentra que el intervalo de transmisión
está cerrado (bloque 1109) o que no ha de transmitirse un nuevo
paquete de datos (bloque 1110), entonces el programa pasa al bloque
1113. Los bloques 1113 a 1118 representan un programa de ejecución
en bucle que busca el número de orden de transmisión (SSN) más bajo
que esté asociado con un paquete al que no se haya acusado recibo.
Cuando el programa encuentra ese número, retransmite de manera
preferente el paquete asociado. Al hacerlo, el programa (bloques
1119 y 1120) (a) le asigna al bitio de copia para ese paquete un
valor binario de uno, (b) asocia el paquete con el siguiente número
de orden de transmisión y (c) almacena el paquete en la memoria
intermedia 135. Como se ha mencionado anteriormente, el programa se
inicia de nuevo, después, en el bloque 1100 cuando la memoria
intermedia 135 se vacía.
Lo expuesto en lo que antecede es simplemente
ilustrativo de los principios del invento. Los expertos en la
técnica serán capaces de desarrollar numerosas disposiciones que,
aunque no se muestren ni se describan explícitamente en este
documento, incorporan, no obstante, los principios que se encuentran
dentro del alcance del invento reivindicado.
Claims (6)
1. Una disposición para la retransmisión de
paquetes de datos, para uso en un sistema de comunicaciones, que
comprende:
medios (100) para transmitir paquetes de datos a
un receptor (200) y asociar dichos paquetes de datos transmitidos
con respectivos números de orden de transmisión cuando son
transmitidos,
medios (100, 120) que responden a la recepción de
un mensaje de estado que identifique los paquetes de datos
transmitidos que fueron recibidos correcta e incorrectamente por
dicho receptor, para retransmisión, siempre que esté abierto un
intervalo para la transmisión de paquetes de datos, de sólo aquéllos
de dichos paquetes de datos recibidos incorrectamente cuyos números
de orden de transmisión asociados preceden a un número de orden de
transmisión asociado con un paquete de datos transmitido,
identificado en dicho mensaje como el último de los paquetes de
datos recibidos correctamente, y
caracterizado
por
medios (100, 120) que funcionan siempre que se
cierre un intervalo para la transmisión de paquetes de datos, para
retransmitir, a su vez, todos los paquetes de datos a los que no se
ha acusado recibo y que hayan sido recibidos incorrectamente, o no
hayan sido recibidos, por dicho receptor cuando dicho intervalo
estaba abierto y repetir continuamente la retransmisión de cada uno
de tales paquetes de datos hasta que dicho intervalo se abra para la
transmisión de paquetes de datos o hasta la recepción de una
confirmación que indique que el paquete de datos se recibió
correctamente.
2. Una disposición como se reivindica en la
reivindicación 1, en la que dicho mensaje de estado es un mensaje de
estado completo que comprende al menos un campo de mapa de bitios,
un campo que identifique el último paquete de datos recibido
correctamente y un campo que identifique el último paquete de datos
recibido correctamente en la secuencia apropiada, estando formado
dicho campo de mapa de bitios a partir de varios bitios asociados
con números de secuencia respectivos que se anexan a unos
respectivos de dichos paquetes de datos en el orden en que se
transmiten dichos paquetes de datos.
3. Una disposición como se reivindica en la
reivindicación 2, en la que dicho mensaje de estado puede ser,
también, un mensaje parcial de estado insertado en un paquete de
información de usuario, comprendiendo dicho mensaje parcial de
estado al menos (a) un campo de mapa de bitios formado a partir de
un grupo de bitios asociados con un grupo de respectivos números de
secuencia asignados a unos respectivos de un grupo de paquetes de
datos en el orden en que se transmiten dicho grupo de paquetes de
datos y (b) un número de grupo que define una relación entre dicho
grupo de números de secuencia y otro grupo de números de
secuencia.
4. Una disposición como se reivindica en la
reivindicación 3, en la que dicho mensaje parcial de estado
comprende un campo que identifica el último paquete de datos
recibido correctamente y en la secuencia apropiada.
5. Una disposición como se reivindica en la
reivindicación 1, en la que dicho sistema de comunicaciones es un
sistema telefónico inalámbrico.
6. Una disposición como se reivindica en la
reivindicación 1, en la que dicho intervalo de transmisión es de una
dimensión dada que puede permitir que algunos paquetes de datos sean
transmitidos nuevamente antes de cerrarse.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/159,871 US5444718A (en) | 1993-11-30 | 1993-11-30 | Retransmission protocol for wireless communications |
US159871 | 1993-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2240961T3 true ES2240961T3 (es) | 2005-10-16 |
Family
ID=22574443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES94308658T Expired - Lifetime ES2240961T3 (es) | 1993-11-30 | 1994-11-23 | Protocolo de retransmision para comunicaciones inalambricas. |
Country Status (10)
Country | Link |
---|---|
US (1) | US5444718A (es) |
EP (1) | EP0658028B1 (es) |
JP (1) | JP3212464B2 (es) |
KR (1) | KR0149899B1 (es) |
CN (1) | CN1174641C (es) |
AU (1) | AU672536B2 (es) |
CA (1) | CA2132649C (es) |
DE (1) | DE69434310T2 (es) |
ES (1) | ES2240961T3 (es) |
HK (1) | HK1003552A1 (es) |
Families Citing this family (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI98174C (fi) * | 1995-05-09 | 1997-04-25 | Nokia Telecommunications Oy | Datansiirtojärjestelmä, jossa on liukuvaan ikkunaan perustuva datavuonohjaus |
GB2302243B (en) * | 1995-06-12 | 2000-03-01 | Comm & Control Electronics Ltd | Communication system message acknowledgement |
US5664091A (en) * | 1995-08-31 | 1997-09-02 | Ncr Corporation | Method and system for a voiding unnecessary retransmissions using a selective rejection data link protocol |
US5751719A (en) * | 1995-11-30 | 1998-05-12 | Lucent Technologies Inc. | Method and system for data transfer in the presence of disconnects |
US5959995A (en) * | 1996-02-22 | 1999-09-28 | Fujitsu, Ltd. | Asynchronous packet switching |
DE19608204C2 (de) * | 1996-03-04 | 1998-04-16 | Siemens Ag | Verfahren und Anordnung zur Übertragung von Informationen über die Funkschnittstelle zwischen einer Teilnehmereinrichtung und einer Netzeinrichtung eines zellularen Mobilfunknetzes |
US6990069B1 (en) | 1997-02-24 | 2006-01-24 | At&T Corp. | System and method for improving transport protocol performance in communication networks having lossy links |
US5974028A (en) * | 1997-02-24 | 1999-10-26 | At&T Corp. | System and method for improving transport protocol performance in communication networks having lossy links |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US6118765A (en) * | 1998-01-13 | 2000-09-12 | Qualcomm Inc. | System method and computer program product for eliminating unnecessary retransmissions |
US6226301B1 (en) * | 1998-02-19 | 2001-05-01 | Nokia Mobile Phones Ltd | Method and apparatus for segmentation and assembly of data frames for retransmission in a telecommunications system |
US6640248B1 (en) | 1998-07-10 | 2003-10-28 | Malibu Networks, Inc. | Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer |
US6452915B1 (en) * | 1998-07-10 | 2002-09-17 | Malibu Networks, Inc. | IP-flow classification in a wireless point to multi-point (PTMP) transmission system |
US6590885B1 (en) | 1998-07-10 | 2003-07-08 | Malibu Networks, Inc. | IP-flow characterization in a wireless point to multi-point (PTMP) transmission system |
US6628629B1 (en) | 1998-07-10 | 2003-09-30 | Malibu Networks | Reservation based prioritization method for wireless transmission of latency and jitter sensitive IP-flows in a wireless point to multi-point transmission system |
US6594246B1 (en) | 1998-07-10 | 2003-07-15 | Malibu Networks, Inc. | IP-flow identification in a wireless point to multi-point transmission system |
US6862622B2 (en) | 1998-07-10 | 2005-03-01 | Van Drebbel Mariner Llc | Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture |
US6680922B1 (en) | 1998-07-10 | 2004-01-20 | Malibu Networks, Inc. | Method for the recognition and operation of virtual private networks (VPNs) over a wireless point to multi-point (PtMP) transmission system |
US6367045B1 (en) | 1999-07-01 | 2002-04-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Bandwidth efficient acknowledgment/negative acknowledgment in a communication system using automatic repeat request (ARQ) |
KR20000044339A (ko) * | 1998-12-30 | 2000-07-15 | 박태진 | 통신시스템에서 전송효율을 증가시키는 링크계층의 데이터재전송방법 |
FI113822B (fi) * | 1999-01-19 | 2004-06-15 | Nokia Corp | Ohjattu dataverkon virheestä toipuminen |
FI106760B (fi) * | 1999-03-03 | 2001-03-30 | Nokia Oyj | Menetelmä ja laite tiedonsiirtopakettien uudelleenlähettämiseksi |
JP4015773B2 (ja) * | 1999-03-10 | 2007-11-28 | 松下電器産業株式会社 | 送受信装置 |
US7437750B1 (en) | 1999-04-12 | 2008-10-14 | Matsushita Electric Industrial Co., Ltd. | Data transceiving system and method therefor |
GB9915593D0 (en) * | 1999-07-02 | 1999-09-01 | Nokia Telecommunications Oy | Data acknowledgement |
JP3472511B2 (ja) * | 1999-07-12 | 2003-12-02 | Kddi株式会社 | データ伝送装置 |
US6208620B1 (en) * | 1999-08-02 | 2001-03-27 | Nortel Networks Corporation | TCP-aware agent sublayer (TAS) for robust TCP over wireless |
US6859462B1 (en) * | 1999-08-10 | 2005-02-22 | Orative Corporation | Minimization and optimization of overall data transfer connect time between handheld wireless communicating devices and remote machines |
KR100607934B1 (ko) | 1999-08-27 | 2006-08-03 | 삼성전자주식회사 | 광대역 무선 통신에서의 링크 계층의 오류 제어방법 및 이를위한 기록 매체 |
US6775707B1 (en) * | 1999-10-15 | 2004-08-10 | Fisher-Rosemount Systems, Inc. | Deferred acknowledgment communications and alarm management |
JP2001142845A (ja) | 1999-11-17 | 2001-05-25 | Toshiba Corp | コンピュータシステムおよびデータ転送制御方法 |
US6697331B1 (en) * | 1999-11-17 | 2004-02-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Link layer acknowledgement and retransmission for cellular telecommunications |
KR100606694B1 (ko) * | 1999-12-28 | 2006-07-31 | 엘지전자 주식회사 | 무선 링크 프로토콜의 프레임 전송 방법 및 장치 |
US6629285B1 (en) * | 2000-01-04 | 2003-09-30 | Nokia Corporation | Data transmission |
FI112305B (fi) * | 2000-02-14 | 2003-11-14 | Nokia Corp | Datapakettien numerointi pakettivälitteisessä tiedonsiirrossa |
US6760781B1 (en) * | 2000-02-16 | 2004-07-06 | 3Com Corporation | Intelligent packet transmission engine |
ATE341918T1 (de) * | 2000-03-22 | 2006-10-15 | Cit Alcatel | Verfahren und vorrichtung zur wiederzusammensetzung von rahmen |
CN1114874C (zh) * | 2000-05-15 | 2003-07-16 | 倚天资讯股份有限公司 | 利用双向无线传输进行软件更新的方法及其系统 |
EP1161022A1 (en) * | 2000-05-25 | 2001-12-05 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Selective repeat protocol with dynamic timers |
JP2002026877A (ja) * | 2000-06-07 | 2002-01-25 | Agilent Technol Inc | ブロック誤り率測定法 |
US6754197B1 (en) * | 2000-09-15 | 2004-06-22 | Atheros, Inc. | Method and system for transmit data blocking in a wireless communications network |
US20020180798A1 (en) * | 2001-05-31 | 2002-12-05 | Poor Graham V. | System and method for extending a wireless device platform to multiple applications |
US7123933B2 (en) * | 2001-05-31 | 2006-10-17 | Orative Corporation | System and method for remote application management of a wireless device |
US7020457B2 (en) * | 2001-05-31 | 2006-03-28 | Orative Corporation | System and method for proxy-enabling a wireless device to an existing IP-based service |
KR100800807B1 (ko) * | 2001-11-20 | 2008-02-01 | 삼성전자주식회사 | 재전송을 지원하는 통신시스템에서 재전송의 변조방식결정 방법 및 장치 |
JP3912091B2 (ja) * | 2001-12-04 | 2007-05-09 | ソニー株式会社 | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
US7345999B2 (en) * | 2002-07-18 | 2008-03-18 | Lucent Technologies Inc. | Methods and devices for the retransmission of data packets |
US7042857B2 (en) | 2002-10-29 | 2006-05-09 | Qualcom, Incorporated | Uplink pilot and signaling transmission in wireless communication systems |
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 |
KR100964657B1 (ko) * | 2002-12-07 | 2010-06-21 | 엘지전자 주식회사 | 홈 네트워크 시스템의 데이터 다운로드 방법 |
US7177297B2 (en) | 2003-05-12 | 2007-02-13 | Qualcomm Incorporated | Fast frequency hopping with a code division multiplexed pilot in an OFDMA system |
US6859449B2 (en) * | 2003-05-19 | 2005-02-22 | Nokia Corporation | Method and apparatus providing enhanced radio link control acknowledgment |
KR100807446B1 (ko) | 2003-06-18 | 2008-02-25 | 니폰덴신뎅와 가부시키가이샤 | 무선 패킷 통신방법 및 통신장치 |
US20050052465A1 (en) * | 2003-07-03 | 2005-03-10 | Moore Richard L. | Wireless keyboard, video, mouse device |
US8274961B2 (en) * | 2003-10-24 | 2012-09-25 | Sony Corporation | Apparatus and associated methodology of adjusting a RTS/CTS transmission protocol |
JP2006050519A (ja) * | 2003-10-24 | 2006-02-16 | Sony Corp | 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム |
US7475322B2 (en) * | 2003-11-14 | 2009-01-06 | Avocent Huntsville Corporation | Wireless broadcast protocol |
US8611283B2 (en) | 2004-01-28 | 2013-12-17 | Qualcomm Incorporated | Method and apparatus of using a single channel to provide acknowledgement and assignment messages |
US8516323B2 (en) * | 2004-04-05 | 2013-08-20 | Telefonaktiebolaget L M Ericsson (Publ) | Repair function for a broadcast service |
US20050254508A1 (en) * | 2004-05-13 | 2005-11-17 | Nokia Corporation | Cooperation between packetized data bit-rate adaptation and data packet re-transmission |
US8891349B2 (en) | 2004-07-23 | 2014-11-18 | Qualcomm Incorporated | Method of optimizing portions of a frame |
US20060136614A1 (en) * | 2004-07-30 | 2006-06-22 | Nokia Corporation | System and method for variable length aggregate acknowledgements in a shared resource network |
US8259565B2 (en) * | 2004-09-16 | 2012-09-04 | Qualcomm Inc. | Call setup in a video telephony network |
US8238923B2 (en) | 2004-12-22 | 2012-08-07 | Qualcomm Incorporated | Method of using shared resources in a communication system |
US8831115B2 (en) | 2004-12-22 | 2014-09-09 | Qualcomm Incorporated | MC-CDMA multiplexing in an orthogonal uplink |
US7526705B2 (en) * | 2005-05-03 | 2009-04-28 | Agere Systems Inc. | Acknowledgement message modification in communication networks |
US7907966B1 (en) * | 2005-07-19 | 2011-03-15 | Aol Inc. | System and method for cross-platform applications on a wireless phone |
US7965771B2 (en) * | 2006-02-27 | 2011-06-21 | Cisco Technology, Inc. | Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network |
CN101047953B (zh) * | 2006-03-30 | 2012-06-27 | 华为技术有限公司 | 一种对自动重传请求数据进行处理的方法 |
JP2007324700A (ja) * | 2006-05-30 | 2007-12-13 | Mitsubishi Electric Corp | 伝送制御方法 |
US7584286B2 (en) | 2006-06-28 | 2009-09-01 | Intel Corporation | Flexible and extensible receive side scaling |
US8031701B2 (en) | 2006-09-11 | 2011-10-04 | Cisco Technology, Inc. | Retransmission-based stream repair and stream join |
JP4284353B2 (ja) * | 2006-12-26 | 2009-06-24 | 株式会社東芝 | 無線通信装置 |
US8769591B2 (en) | 2007-02-12 | 2014-07-01 | Cisco Technology, Inc. | Fast channel change on a bandwidth constrained network |
US20080253369A1 (en) | 2007-04-16 | 2008-10-16 | Cisco Technology, Inc. | Monitoring and correcting upstream packet loss |
US8386892B1 (en) * | 2007-11-05 | 2013-02-26 | Massachusetts Institute Of Technology | Partial packet recovery for wireless networks |
US8819512B1 (en) | 2008-01-19 | 2014-08-26 | Appex Networks Holding Limited | Method for detecting TCP packet losses and expediting packet retransmission |
DK2241046T3 (da) | 2008-02-08 | 2012-03-26 | Ericsson Telefon Ab L M | Fremgangsmåde og anordning i et telekommunikationssystem |
US8787153B2 (en) | 2008-02-10 | 2014-07-22 | Cisco Technology, Inc. | Forward error correction based data recovery with path diversity |
WO2009116914A1 (en) * | 2008-03-20 | 2009-09-24 | Telefonaktiebolaget L M Ericsson (Publ) | A method and a transceiver for reducing retransmissions in a telecommunications system |
US9312989B2 (en) * | 2008-07-07 | 2016-04-12 | Cisco Technology, Inc. | Importance-based FEC-aware error-repair scheduling |
WO2010016669A2 (en) | 2008-08-04 | 2010-02-11 | Samsung Electronics Co., Ltd. | Signal transmission method and apparatus for user equipment in mobile communication system |
WO2010018506A1 (en) | 2008-08-11 | 2010-02-18 | Koninklijke Philips Electronics N.V. | Method for communicating in a network, a secondary station and a system therefor |
KR20100021957A (ko) * | 2008-08-18 | 2010-02-26 | 삼성전자주식회사 | 무선통신시스템에서 자동 재전송 요청 피드백 메시지 생성 장치 및 방법 |
JPWO2010098411A1 (ja) * | 2009-02-25 | 2012-09-06 | 京セラ株式会社 | 通信システム、通信装置及び通信方法 |
JPWO2010140192A1 (ja) * | 2009-06-03 | 2012-11-15 | 株式会社東芝 | 通信装置 |
JP5676626B2 (ja) | 2009-10-30 | 2015-02-25 | サムスン エレクトロニクス カンパニー リミテッド | 無線通信システムにおける自動再送要求フィードバックメッセージ生成装置及び方法 |
JP2010141909A (ja) * | 2010-01-27 | 2010-06-24 | Kyocera Corp | 通信装置およびデータフレーム再送方法 |
WO2011130316A1 (en) * | 2010-04-12 | 2011-10-20 | Qualcomm Atheros, Inc. | Repeating for low-overhead communication in a network |
WO2011145474A1 (ja) * | 2010-05-20 | 2011-11-24 | 日本電気株式会社 | 送信装置および再送制御方法、並びにコンピュータプログラム |
JP2011249932A (ja) * | 2010-05-24 | 2011-12-08 | Smk Corp | 無線通信モジュール、リモートコントロール装置および無線システム |
US8995630B1 (en) | 2010-08-01 | 2015-03-31 | Tulsa Holdings, Llc | Telephony and applications communication in a non-mobile telephone system |
CN102609378B (zh) * | 2012-01-18 | 2016-03-30 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
JP6135078B2 (ja) * | 2012-09-14 | 2017-05-31 | 富士通株式会社 | 到達確認メッセージについての情報処理方法及び情報処理装置 |
US20160013892A1 (en) * | 2013-03-25 | 2016-01-14 | Hidetoshi Suzuki | Communication apparatus, reception apparatus, and transmission apparatus |
KR20180080607A (ko) * | 2017-01-04 | 2018-07-12 | 삼성전자주식회사 | 통신 시스템에서 재전송 방법 및 장치 |
CN108809481B (zh) | 2017-04-28 | 2022-08-26 | 华为技术有限公司 | 数据处理方法和数据处理装置 |
DK3646500T3 (da) * | 2017-06-28 | 2022-03-07 | Ericsson Telefon Ab L M | Betjening af en brugerindretning og en modtagende radioknude baseret på en HARQ-kodebog, konfigureret af en konfigurerende radioknude |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3069762D1 (en) * | 1980-08-26 | 1985-01-17 | Ibm | System for the retransmission of incorrectly received numbered frames in a data transmission system |
US4422171A (en) * | 1980-12-29 | 1983-12-20 | Allied Corporation, Law Department | Method and system for data communication |
US4841526A (en) * | 1984-05-25 | 1989-06-20 | Wilson Jon C | Data communications system |
US5007051A (en) * | 1987-09-30 | 1991-04-09 | Hewlett-Packard Company | Link layer protocol and apparatus for data communication |
EP0324886B1 (en) * | 1988-01-22 | 1992-12-16 | International Business Machines Corporation | Control flow reduction in selective repeat protocols |
US5245616A (en) * | 1989-02-24 | 1993-09-14 | Rosemount Inc. | Technique for acknowledging packets |
US5084877A (en) * | 1989-05-05 | 1992-01-28 | At&T Bell Laboratories | High speed transport protocol |
US5222061A (en) * | 1991-10-31 | 1993-06-22 | At&T Bell Laboratories | Data services retransmission procedure |
-
1993
- 1993-11-30 US US08/159,871 patent/US5444718A/en not_active Expired - Lifetime
-
1994
- 1994-09-22 CA CA002132649A patent/CA2132649C/en not_active Expired - Lifetime
- 1994-11-23 ES ES94308658T patent/ES2240961T3/es not_active Expired - Lifetime
- 1994-11-23 DE DE69434310T patent/DE69434310T2/de not_active Expired - Lifetime
- 1994-11-23 EP EP94308658A patent/EP0658028B1/en not_active Expired - Lifetime
- 1994-11-23 AU AU79008/94A patent/AU672536B2/en not_active Expired
- 1994-11-24 CN CNB94118823XA patent/CN1174641C/zh not_active Expired - Lifetime
- 1994-11-28 KR KR1019940031424A patent/KR0149899B1/ko not_active IP Right Cessation
- 1994-11-30 JP JP31936394A patent/JP3212464B2/ja not_active Expired - Lifetime
-
1998
- 1998-03-27 HK HK98102634A patent/HK1003552A1/xx unknown
Also Published As
Publication number | Publication date |
---|---|
CN1111889A (zh) | 1995-11-15 |
KR950016099A (ko) | 1995-06-17 |
KR0149899B1 (ko) | 1999-05-15 |
CA2132649C (en) | 1999-04-13 |
JP3212464B2 (ja) | 2001-09-25 |
EP0658028B1 (en) | 2005-03-23 |
AU7900894A (en) | 1995-06-08 |
HK1003552A1 (en) | 1998-10-30 |
EP0658028A3 (en) | 1998-10-07 |
DE69434310T2 (de) | 2006-02-09 |
DE69434310D1 (de) | 2005-04-28 |
CA2132649A1 (en) | 1995-05-31 |
CN1174641C (zh) | 2004-11-03 |
AU672536B2 (en) | 1996-10-03 |
US5444718A (en) | 1995-08-22 |
EP0658028A2 (en) | 1995-06-14 |
JPH07202856A (ja) | 1995-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2240961T3 (es) | Protocolo de retransmision para comunicaciones inalambricas. | |
ES2245935T3 (es) | Protocolo de control flexible de radioenlace. | |
ES2387765T3 (es) | Sistema de radiocomunicación | |
FI106760B (fi) | Menetelmä ja laite tiedonsiirtopakettien uudelleenlähettämiseksi | |
ES2321851T3 (es) | Procedimiento de, y sistema para, la comunicacion de datos, y una estacion para la transmision de datos. | |
US5699367A (en) | Concatenated error detection coding and packet numbering for hierarchical ARQ schemes | |
ES2903025T3 (es) | Protocolo de solicitud de repetición automática (ARQ) que tiene múltiples mecanismos de retroalimentación complementarios | |
ES2393829T5 (es) | Reporte de estado para el protocolo de retransmisión | |
ES2296966T3 (es) | Metodo y transmision para una transferencia eficaz de datos por paquetes en un protocolo de transmision con peticiones de repeticion. | |
ES2316361T3 (es) | Notificacion de descarte de paquete para protocolo de retransmision semifiable. | |
ES2310530T3 (es) | Metodo de control de flujo de datos. | |
AU765873B2 (en) | Cell discard notification | |
US6408003B1 (en) | Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames | |
ES2531856T3 (es) | Método y unidad de transmisión para reducir un riesgo de estancamiento de una transmisión | |
BRPI9810145B1 (pt) | método para transmissão de dados entre um transmissor e um receptor, e para transmissão de um conjunto de frames, bem como, sistema para transmissão de dados através de frames | |
ES2328674T3 (es) | Sistama de comunicacion de radio. | |
ES2280320T3 (es) | Metodo para la transmision asincrona de redundancia incremental en un sistema de comunicaciones. | |
JP3054613B2 (ja) | パケット通信システム | |
US6654422B1 (en) | Efficient automatic repeat request method using variable length sequence numbers | |
ES2248634T3 (es) | Metodo de acuse de recepcion de datos. | |
ES2223960T3 (es) | Metodo de transmision de datos y sistema de radiocomunicaciones. | |
KR100612654B1 (ko) | 자동 재송신 요청을 위한 프레임 생성 장치 및 방법 | |
JPH09186740A (ja) | データ伝送制御方法およびデータ伝送システム | |
JPH08251658A (ja) | 誤り制御方式 | |
KR100683417B1 (ko) | 무선 네트워크에서의 패킷 중계 장치 및 중계 방법 |