ES2262743T3 - Metodo y dispositivo para transformar una serie de paquetes de datos mediante compresion de datos. - Google Patents
Metodo y dispositivo para transformar una serie de paquetes de datos mediante compresion de datos.Info
- Publication number
- ES2262743T3 ES2262743T3 ES02023518T ES02023518T ES2262743T3 ES 2262743 T3 ES2262743 T3 ES 2262743T3 ES 02023518 T ES02023518 T ES 02023518T ES 02023518 T ES02023518 T ES 02023518T ES 2262743 T3 ES2262743 T3 ES 2262743T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- series
- channel
- data packets
- packets
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Communication Control (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
Método para convertir una primera serie (10) de paquetes de datos, presentando cada uno un campo de encabezamiento (h) y un campo de datos (d) en una segunda serie (20) de paquetes de datos, presentando cada uno un campo de encabezamiento (h) y un campo de datos (d), comprendiendo ambas series paquetes de datos de una pluralidad de canales (A, B), y estando sometidos los datos de los campos de datos de la primera serie (10) a un proceso de compresión (P) y siendo alojados entonces en los campos de datos de la segunda serie (20), caracterizado porque cada campo de datos de la segunda serie (20) contiene datos de solamente un canal (por ejemplo, A) y los datos que van a alojarse en los campos de datos de la segunda serie (20) se comprimen por canal.
Description
Método y dispositivo para transformar una serie
de paquetes de datos mediante compresión de datos.
La invención se refiere a un método para
comprimir paquetes de datos, un método para descomprimir paquetes
de datos, dispositivos para comprimir y descomprimir paquetes de
datos, y un sistema para transmitir paquetes de datos en forma
comprimida. En términos más generales, la invención se refiere a un
método para realizar, en un sistema de comunicación, una conversión
de longitud de las denominadas "primitivas", y a medios para
implementar dicho método.
Más concretamente, la invención se refiere a un
método para convertir una primera serie de paquetes de datos,
presentando cada uno un campo de encabezamiento y un campo de datos,
en una segunda serie de paquetes de datos, comprendiendo cada una
un campo de encabezamiento y un campo de datos, comprendiendo ambas
series paquetes de datos de una pluralidad de canales, y
sometiéndose datos de los campos de datos de la primera serie a un
proceso de compresión y alojándose después en los campos de datos de
la segunda serie. Un método de este tipo se conoce por la solicitud
de patente europea
EP-A-0.559.593.
La compresión de datos se aplica en la práctica
para aumentar la capacidad de un canal de comunicación. Mediante la
compresión de los datos que han de transmitirse puede transmitirse
una cantidad determinada de datos en menos tiempo con un ancho de
banda menor. La compresión de datos en este contexto se realiza en
muchos casos mediante un proceso de compresión en el que la
frecuencia de ocurrencia de palabras o mensajes de datos se utiliza
para codificar los datos de manera más eficaz: sustituyendo los
datos más frecuentes por un código corto y los datos menos
frecuentes por uno más largo puede conseguirse un alto grado de
compresión. Los datos comprimidos pueden transmitirse entonces, por
ejemplo, en la forma de paquetes de datos. Por tanto, una primera
serie de paquetes de datos se transforma en una segunda serie; en el
caso de una compresión satisfactoria, la segunda serie será
generalmente más corta, por ejemplo, contendrá menos datos que la
primera serie.
En el método conocido, una primera serie de
paquetes de datos que puede originarse desde varias fuentes
(canales) se transforma en una segunda serie de paquetes de datos
que puede transmitirse a través de un canal (red), almacenándose la
información en los campos de datos de la segunda serie, relacionados
con los paquetes de datos originales. Por tanto, los campos de
datos de la segunda serie contienen campos de encabezamiento
secundario en los que, entre otros, se almacena la longitud de un
campo de datos comprimidos e información de reconstrucción.
Basándose en dichos campos de encabezamiento secundario, pueden
reconstruirse los campos de datos originales, por ejemplo, los
campos de datos de los paquetes de datos de la primera serie.
Este método conocido tiene el inconveniente de
que ha de transmitirse una cantidad relativamente grande de
información suplementaria, es decir, los campos de encabezamiento
secundario. Como resultado, los campos de datos de la segunda serie
se reducen eficazmente en tamaño y la capacidad de transmisión útil
de los paquetes de datos disminuye. Este efecto es incluso más
intenso para longitudes de paquetes menores en los que este factor
toma una parte relativamente grande de la capacidad de transmisión
potencial. Además, en el caso del método conocido, los campos de
encabezamiento secundarios deben estar siempre separados de los
datos útiles en el lado de recepción, antes que de que los campos
de datos puedan descomprimirse. Esto implica una etapa de
procesamiento adicional que exige tiempo de procesamiento y medios
de procesamiento (circuitos y/o software). Si el método conocido se
utiliza para la transmisión a través de una red que presenta
estaciones intermedias (cambios, puntos de conmutación), mensajes
entre varias fuentes y destinos, el método conocido implica además
la necesidad de que todas las estaciones intermedias soporten la
función de compresión dado que el encaminamiento de la red ha de
adaptarse a la integración de canales en paquetes de datos
comprimidos.
Halsall et al: "Prototype X25 exchange
for use in local area networks" Software and microsystems, IEE.
Londres, Gran Bretaña, vol. 1, núm. 3, abril de 1982 examina como
los protocolos de red WAN (Wide Area Network, red de área extensa)
y, en particular, el protocolo X25 puede utilizarse para redes de
área local (LAN). Describe una topología apropiada para redes LAN
que comprende una red de alto nivel que incorpora una central de
conmutación de paquetes basada en X25. Todos los equipos DTE
(equipo terminal de datos) de la red están conectados al conmutador
X25 mediante la denominada "unidad intercanal" (IU), un bus
paralelo multiplexado. Todos los equipos DTE obtienen acceso a la
unidad UI a través de una denominada "unidad de acceso de
enlace" (link access unit, LAU). Dado que la unidad IU, "el
bus paralelo multiplexado" tiene una capacidad limitada, el
acceso a la unidad IU se controla mediante un "protocolo
accionado por interrupción" que significa que solamente una
unidad LAU puede tener acceso físico a la unidad IU (coloca
paquetes en el enlace físico) al mismo tiempo. La unidad IU
contiene paquetes de un canal fuente y para solamente un destino. Si
un proceso de compresión se aplicara a esta red, no surgiría el
problema de los paquetes que comprenden datos comprimidos de
diferentes canales.
El objeto de la invención es superar estos y
otros inconvenientes de la técnica anterior mencionados
anteriormente y proporcionar un método para transformar, mediante
la compresión de datos, una serie de paquetes de datos que
proporciona una transmisión eficiente de los datos comprimidos
haciendo un uso óptimo de los campos de datos de la segunda
serie.
En particular, es un objeto de la invención
proporcionar un método para transformar campos de datos que prevea
que paquetes de datos de diferentes canales se procesen
eficazmente.
Otro objeto de la invención es proporcionar un
método para transformar paquetes de datos que es particularmente
adecuado para usarlo en redes X.25.
También es un objeto de la invención
proporcionar un método para transformar paquetes de datos que sea
independiente del proceso de compresión o descompresión
utilizado.
El método según la invención se caracteriza
porque cada campo de datos de la segunda serie contiene datos de
solamente un canal, y porque los datos que van a alojarse en un
campo de datos de la segunda serie se comprimen por canal.
Con este fin el método según una realización de
la invención se caracteriza porque cada campo de datos de la
segunda serie contiene datos de solamente un canal, y porque los
datos que van a alojarse en un campo de datos de la segunda serie
se almacenan temporalmente por canal. Con otras palabras, en la
segunda serie solamente se incorporan datos de un solo canal en el
campo de datos de cada paquete de datos. Esto tiene la ventaja,
entre otros, que los datos (comprimidos) de los diversos canales se
transmiten en paquetes de datos independientes, de manera que no es
necesario especificar, dentro de un paquete de datos, qué datos
pertenecen a qué canal. Los paquetes de datos de la segunda serie
pueden, por tanto, en principio, transmitirse directamente a sus
destinos finales sin descomprimirse primero. Al comprimir cada canal
por separado, según la invención, se garantiza además que solamente
la estación de transmisión y la de recepción dentro de una red
necesiten admitir la compresión, sin que la propia red de
transmisión esté diseñada para la compresión. Por el contrario,
según la técnica anterior mencionada, es necesaria una adaptación
de la red para soportar la compresión de una pluralidad de canales,
es decir, de una pluralidad de canales (fuente) a un canal
(red).
Para proporcionar la posibilidad de paquetes de
datos sucesivos, en la primera serie (de paquetes de datos
originales) que pertenecen a diferentes canales, sin trasmitir, en
la segunda serie, paquetes de datos parcialmente vacíos, según una
realización de la invención los datos de los diferentes canales se
almacenan de forma intermedia por separado, es decir, por canal.
Esto permite llenar de manera óptima los paquetes de datos de la
segunda serie (de paquetes de datos "comprimidos") con datos
dado que para cada canal pueden ahorrarse datos comprimidos, por
ejemplo, hasta que el campo de datos de un paquete de datos se llene
completamente.
En este contexto, casualmente, el término
"canal" se refiere a un canal lógico, en otras palabras, a una
ruta de transmisión entre una fuente (lado de emisión) y un destino
(lado de recepción), esta ruta existe durante un tiempo
determinado. En el proceso, una pluralidad de canales puede
activarse mediante un enlace físico, pero un canal no necesita
expresamente estar asignado a un enlace físico específico. A través
de un canal se transmiten uno o más mensajes en forma de paquetes
de datos, finalizando el mensaje generalmente mediante un marcador
"fin de mensaje" (código de detención). Un marcador de este
tipo "fin de mensaje" indica, por tanto, el final de un grupo
de paquetes de datos que están asociados funcionalmente unos con
otros.
Un canal puede comprender casualmente muchos
canales secundarios (canales constituyentes) en los que, por
ejemplo, un canal secundario porta datos de usuario mientras que
otro porta datos de control. En el caso de X.25, por ejemplo, los
canales secundarios se identifican mediante el bit Q. En el caso de
que puedan identificarse los canales secundarios, el método según
una realización de la invención se caracteriza porque cada campo de
datos de la segunda serie contiene datos de solamente un canal
secundario, y porque los datos que van a alojarse en un campo de
datos de la segunda serie se almacenan temporalmente por canal
secundario. Se entenderá que un canal secundario puede coincidir
con un canal. Por esta razón, en esta memoria la palabra
"canal" se entenderá generalmente como "canal o canal
secundario".
Las series de paquetes de datos anteriormente
mencionadas pueden comprender uno o más mensajes, pueden ser
sincrónicas y asincrónicas y no necesitan tener una longitud fija o
específica. Por tanto, una "serie" puede consistir incluso en
un único paquete de datos.
Cuando se expone en términos de modelo OSI
(interconexión de sistemas abiertos) (véase la referencia 3,
capítulo 4), la invención puede estar destinada a proporcionar un
método para realizar, en un sistema de comunicación, una conversión
de longitud de primitivas de una primera capa (por ejemplo, n),
transfiriéndose las primitivas en una segunda capa inferior (por
ejemplo, n-1), presentando las primitivas relaciones
funcionales y comprendiendo la conversión de longitud la adaptación
del número de unidades de datos, de tal manera que las primitivas
mantengan sus relaciones funcionales. En los casos anteriormente
mencionados, las relaciones funcionales comprenden un canal o
identidad de usuario, mientras que la conversión de longitud
comprende la compresión de datos.
En el método según una realización de la
invención, de manera preferida se realiza una comprobación acerca
de si el último paquete de datos de un canal se presenta en la
primera serie y, en el caso de la presencia del último paquete de
datos, todos los datos almacenados temporalmente de este canal se
alojan en uno o más paquetes de datos de la segunda serie. Es
decir, cuando se recibe el último paquete de datos de un canal, el
almacenamiento intermedio correspondiente (o conjunto de
almacenamientos intermedios) se vacía en un disco, transfiriéndose
todos los datos de este almacenamiento intermedio a paquetes de
datos. Por tanto, el grupo de paquetes de datos de un canal
determinado finaliza sin un tiempo de espera específico que tenga
que transcurrir para este propósito. Además, los almacenamientos
intermedios vaciados en disco pueden facilitarse a un canal
diferente. Casualmente, en este contexto el término "el último
paquete de datos de un canal" puede entenderse generalmente como
"el último paquete de datos de un grupo de paquetes de datos de un
canal", incluyendo, por tanto, el último paquete de datos de un
mensaje transmitido a través de este canal. El canal en sí mismo,
que puede comprender, por ejemplo, un enlace físico o lógico, puede
continuar existiendo en el proceso. La presencia del último paquete
de datos puede detectarse en este caso basándose en, por ejemplo, un
marcador de "fin de mensaje". Dicho grupo de paquetes de
datos, del que se detecta la presencia del último paquete de datos,
puede comprender también una parte de un mensaje de una pluralidad
de mensajes, pro ejemplo, los paquetes de datos de un canal que se
han recibido durante un periodo determinado.
Cuando el último paquete de datos de un canal de
la primera serie se presenta y los datos almacenados temporalmente
se alojan en un paquete de datos de la segunda serie, es posible que
los datos almacenados temporalmente no puedan llenar el campo de
datos del paquete de datos en su totalidad. Para ser capaz de
determinar de manera simple en el lado de recepción dónde terminan
los datos útiles se prevé que, si en la segunda serie el campo de
datos del último paquete de datos de un canal no se llena en su
totalidad, este campo de datos se complemente con datos de cola.
Estos datos de cola se eligen preferiblemente de tal manera que
pueden reconocerse como tales en el lado de recepción de manera
simple y, por tanto, comprenden preferiblemente un código fijo. Por
tanto, los datos de cola pueden comprender una cadena de bits
idénticos, preferiblemente al menos once. El número de bits
idénticos se selecciona de manera ventajosa en el proceso según la
codificación utilizada para la compresión de datos, por ejemplo, de
tal manera que el número de bits sea igual a, o mayor que, el número
de bits de la palabra de código más larga.
De manera preferida, si están presentes datos de
cola en un paquete de datos de la segunda serie, se realiza una
comprobación acerca de si un último paquete de datos se ha
presentado en la primera serie. Por tanto, se proporciona una
simple comprobación de errores extremadamente eficaz.
De manera ventajosa, el método según la
invención se lleva a cabo de tal manera que un campo de datos de la
segunda serie comprende exclusivamente datos comprimidos y/o datos
de cola. En otras palabras, en un campo de datos de la segunda
serie no se presenta información complementaria con respecto a la
longitud de un mensaje, el canal en cuestión o similares. Por
tanto, la capacidad de transmisión disponible de los paquetes de
datos puede utilizarse de manera óptima. Casualmente, en este
contexto, los denominados "datos comprimidos" pueden contener
también en algunos casos datos no comprimidos que, sin embargo, se
originan de un campo de datos de la primera
serie.
serie.
De manera preferida, la presencia del último
paquete de datos de un canal se determina basándose en la
información en los campos de encabezamiento de los paquetes de
datos de la primera serie. Por tanto, la identificación del último
paquete puede tener lugar, por ejemplo, al mismo tiempo que la
identificación de canal. No obstante, si han de convertirse
paquetes de datos que no están dotados de una identificación de este
tipo en los campos de encabezamiento, la presencia del último
paquete de datos puede determinarse de diferente manera, por
ejemplo, identificando información de cola en un campo de datos de
la primera serie.
Si los paquetes de datos están diseñados para la
transmisión de datos según el protocolo X.25, la información en la
que se basa la determinación de la presencia del último paquete de
datos de un canal comprende ventajosamente el bit m ("bit de más
datos"). Si el bit m es igual a cero, no seguirán más paquetes de
datos del mismo canal. Por tanto, es posible una identificación muy
simple del último paquete de datos.
En el método según la invención, pueden
utilizarse muchos procesos de compresión diferentes. De manera
ventajosa, en el proceso de compresión se aplica una tabla que
contiene palabras de código que se basa en la frecuencia de la
presencia de datos. Con referencia a esta tabla, cada palabra de
datos original se sustituye por una palabra de código, asociándose
determinadas palabras de datos que se presentan frecuentemente (o,
por ejemplo, que tienen un alto contenido de información) a un
código relativamente corto. Con los procesos de compresión de este
tipo, conocidos por sí mismos, la tabla puede compilarse durante el
proceso de compresión. No obstante, de manera ventajosa con el
método según la invención se utiliza una tabla (de frecuencia) fija.
Mediante una tabla fija (predeterminada) o al menos fijada
temporalmente es posible impedir la expansión de datos que tiene
lugar al comienzo del proceso de compresión. Además, esto impide que
los errores de bit en la transmisión den como resultado que las
tablas respectivas del lado de transmisión y del lado de recepción
queden desincronizadas. Después de un tiempo predeterminado o
después de una cantidad predeterminada de paquetes de datos puede
renovarse y/o comprobarse la tabla.
Es posible aplicar la compresión solamente a
paquetes de datos de algunos de los canales, de manera que los
datos de al menos algunos canales se alojen en la segunda serie de
forma no comprimida. En el proceso, los datos no comprimidos pueden
no haber cambiado en absoluto o haberse sometido a una operación
totalmente diferente, tal como un cifrado. Además, los datos que sí
se comprimieron pueden someterse también a una operación diferente,
tal como un cifrado.
Aunque el método según la invención se describe
aquí con referencia a la conversión de paquetes de datos, también
es posible convertir, en lugar de la primera y/o tercera serie de
paquetes de datos, uno o más flujos de datos (sincrónicos o
asincrónicos). También es posible que la primera serie, y, en el
caso de tráfico bidireccional, también la tercera serie, estén
formadas por una serie de ranuras temporales.
La invención proporciona además un método para
transformar una segunda serie de paquetes de datos a una tercera
serie de paquetes de datos que presentan campos de encabezamiento y
campos de datos, estando sometidos los datos procedentes de los
campos de datos de la segunda serie a un proceso de descompresión y
alojados en campos de datos de la tercera serie. Para hacerlo así,
los datos que van a alojarse en un campo de datos de la tercera
serie preferiblemente se almacenan temporalmente por canal. Si la
descompresión y la compresión son simétricas, los paquetes de datos
de la tercera serie pueden ser idénticos en este caso a los paquetes
de datos de la primera serie.
Cuando el método según la invención se aplica a
la transmisión de paquetes de datos en la que en la primera serie
los paquetes de datos de al menos un canal se presentan de manera
intermitente es posible, de manera ventajosa, transmitir
intermitentemente, para ese canal, al menos un paquete de datos de
la segunda serie, incluso si el campo de datos de ese paquete de
datos se llena solamente de manera parcial. Como resultado, pueden
impedirse retardos largos en la transmisión de datos. (Si, en el
proceso los paquetes de datos de la primera serie se transmiten
según el protocolo X.25, puede ser ventajoso ignorar el bit m de un
paquete de datos de este tipo). Los paquetes de datos de la segunda
serie pueden transmitirse con este fin, por ejemplo, en momentos
predeterminados o si ha transcurrido un tiempo específico desde que
los datos (generalmente comprimidos) se han colocado en un
almacenamiento intermedio vacío (denominado "mecanismo de límite
de tiempo"). De esta manera, los paquetes de datos pueden
comprimirse y transmitirse de manera intermitente. Esto es
especialmente ventajoso para fuentes de datos que generan datos
solamente de manera intermitente, tal como instrumentos de
medición. En un modo, de la misma manera, no se tiene en cuenta el
final de un grupo de paquetes de datos, sino que un paquete de la
segunda serie se transmite tan pronto como se hayan procesado los
datos de un paquete de la primera serie. Si los paquetes de datos
de la segunda serie son más pequeños que los de la primera serie,
la compresión de datos siempre dará como resultado una mejora de la
eficacia de la transmisión de datos, incluso si cada paquete de
datos de una primera serie se convierte en un paquete de datos de la
segunda serie (conversión 1 a 1). En el caso del protocolo X.25,
los paquetes de datos de la segunda serie pueden consistir entonces
en menos segmentos (de, por ejemplo, 64 bytes).
La invención proporciona además un dispositivo
para comprimir paquetes de datos, un dispositivo para descomprimir
paquetes de datos y un sistema para transmitir paquetes de datos en
forma comprimida.
[1]
EP-A-0.559.593
[2] Recomendación ITU (Unión internacional de
telecomunicaciones) V.42 bis
[3] F. Mazda (Ed.): "Telecommunications
Engineer's Reference Book", Oxford 1993.
[4] Recomendación ITU V.34
[5] ITU B-ISDN Adaptation Layer
Specification I.363
[6] P. Horowitz & W. Hill:
"The Art of Electronics", Cambridge 1989.
Estas referencias se incorporan de manera
adjunta en este texto.
A continuación se explicará la invención más
detalladamente con referencia a las figuras.
La figura 1 muestra esquemáticamente la
conversión de una primera serie de paquetes de datos a una segunda
serie de paquetes de datos.
La figura 2 muestra esquemáticamente el proceso
de compresión, según la invención, de una serie de paquetes de
datos.
La figura 3 muestra esquemáticamente el método
de la invención en relación con el modelo OSI.
La figura 4 muestra esquemáticamente una primera
realización de un dispositivo para comprimir y/o descomprimir
paquetes de datos según la invención.
La figura 5 muestra esquemáticamente una segunda
realización de un dispositivo para comprimir y/o descomprimir
paquetes de datos según la invención.
La figura 6 muestra esquemáticamente un sistema
para transmitir paquetes de datos en el que se aplica la
invención.
La figura 1 representa una primera serie 10 de
paquetes de datos (fuente) a modo de ejemplo. Los paquetes de datos
sucesivos 11, 12, 13, 14 y 15 de la serie 10 pueden pertenecer a
diferentes canales. En el caso descrito, los paquetes de datos 11,
12 y 14 corresponden a un canal A, mientras que los paquetes 13 y 15
corresponden a un canal B. Obviamente es posible en la práctica que
se presenten series más largas cuyos paquetes de datos pertenezcan
a más de dos canales.
La invención prevé convertir la primera serie 10
a una segunda serie 20 de paquetes de datos (transmisión). Los
paquetes de datos sucesivos 21, 22 y 23 pertenecen respectivamente a
los canales A, A y B.
Cada paquete de datos de las series 10 y 20
representadas comprende un campo de encabezamiento (o
encabezamiento) h y un campo de datos d. Mediante un proceso de
compresión adecuado que se emplea, los paquetes de datos 11 a 15
(inclusive) se convierten a los paquetes de datos 21 a 23
(inclusive). Según la invención, esto implica el alojamiento en los
campos de datos d de los paquetes de datos (transmisión) de la serie
20 solamente los campos de datos d de los paquetes de datos
(fuente) de la serie 10 en forma comprimida. En otras palabras, la
información de los campos de encabezamiento h de los paquetes de
datos 11 a 15 no se incorpora a los campos de datos de los paquetes
de datos 21 a 23. Por otro lado, los campos de encabezamiento h de
los paquetes de datos de una primera serie 10 puede corresponder,
al menos en parte y en algunos casos totalmente, a los campos de
encabezamiento h de los paquetes de datos de la segunda serie 20.
También es posible, sin embargo, que la segunda serie tenga una
estructura totalmente diferente de la de la primera y, por ejemplo,
que esté compuesta según otro protocolo diferente.
Una serie de paquetes de datos del mismo canal,
como puede formarse, representado en la primera serie 10, por los
paquetes de datos 11, 12 y 14, tendrá por lo general una longitud
limitada. El último paquete de un grupo de este tipo está
generalmente dotado de un marcador para avisar al destino de que un
mensaje en particular se ha completado. En el caso del protocolo
X.25 esto se indica incorporando en el campo de encabezamiento un
bit ("bit más datos" o "bit m") que es igual a cero (m =
0) si no siguen más paquetes de datos del mismo mensaje o canal;
sino el bit es igual a uno (m = 1). Otra manera de indicar que no
siguen más paquetes de datos del mismo grupo es incorporar en el
campo de datos un código de detención ("fin del mensaje") que
puede reconocerse por el destinatario. Un código de parada puede,
por ejemplo, consistir en símbolos de control que pueden
distinguirse de manera simple de los datos útiles ordinarios. Si se
desea, el final de un mensaje puede derivarse del intervalo de
tiempo transcurrido desde que se recibió el último paquete de datos
de ese canal (fin del límite de tiempo).
Según la invención, los paquetes de datos de la
serie 20 contienen cada uno datos (comprimidos y no comprimidos) de
solamente un canal (o canal secundario), y los datos para cada canal
se almacenan temporalmente por separado. Asignando cada paquete de
datos de la segunda serie 20 a un canal solamente es posible
conseguir una manera sencilla de descomprimir en el lado de
recepción (destino) los campos de datos d de los paquetes de datos
de las segunda serie 20 que no han de separarse primero en
fragmentos de canales independientes. Además, de esta manera no es
necesario incorporar en los campos de datos d información
suplementaria con respecto a las partes del campo de datos que
pertenecen a un canal particular, tal como la información de la
longitud de los bloques dentro del campo de datos. Por tanto, se
consigue una transmisión más eficaz dado que el campo de datos de
un paquete de datos de la segunda serie puede llenarse solamente de
datos. Casualmente es posible también alojar datos no comprimidos
en un paquete de datos de la segunda serie, por ejemplo, si uno o
más canales (o canales secundarios) no están comprimidos. Esto
puede ser el caso, por ejemplo, si un canal secundario particular
contiene datos de control.
Al almacenar temporalmente los datos de cada
canal sustancialmente por separado es posible conseguir un grado
óptimo de llenado de los campos de datos d de la segunda serie 20.
Si tal almacenamiento temporal no tuviera lugar, hay que admitir
que la compresión daría como resultado un cantidad menor de datos
por paquete de datos, pero el número de paquetes de datos por canal
seguiría siendo el mismo en principio, y como resultado en la
mayoría de los casos no se obtendría ninguna ventaja (a menos que
los paquetes de datos de la segunda serie tengan una longitud más
corta que los de la primera serie, que, sin embargo, impone una
restricción en la segunda serie). Mediante la combinación
anteriormente mencionada de medidas, puede conseguirse un grado muy
alto de eficacia de la transmisión de datos sin plantear ninguna
demanda con respecto a la estructura de los paquetes de datos de la
segunda serie. Al mismo tiempo se proporciona un alto grado de
flexibilidad en el encaminamiento dado que las estaciones
intermedias de la red, a través de las cuales se transmiten los
paquetes de datos comprimidos, no requieren ningún ajuste para el
propósito de la compresión que va a hacerse en las mismas.
Debería observarse que cuando este texto habla
de un "paquete de datos", esto puede entenderse también como
unidad de datos de protocolo (PDU), contenedor o unidad de datos en
general. Será evidente que los paquetes de datos o unidades de
datos puedan comprender también, aparte de un campo de
encabezamiento o un campo de datos, otros campos tales como un
campo de cola (o cola). Sin embargo, esto no es esencial para la
invención. La invención puede aplicarse incluso a flujos de datos
que no se presentan en forma de paquete. En particular, la
invención puede aplicarse de manera ventajosa en la compresión y la
descompresión de paquetes de datos en redes que funcionan según el
protocolo X.25, especialmente para la aplicación en la capa 3 del
modelo OSI.
En la figura 2 el método según la invención se
representa esquemáticamente. La primera serie 10 de paquetes de
datos, mostrada más detalladamente en la figura 1, se convierte a la
segunda serie 20 de paquetes de datos. En el proceso, los paquetes
de datos 11 a 15 de la primera serie se someten primero a un proceso
P que puede comprender un proceso de compresión de datos adecuado
conocido por sí mismo, tal como un proceso de compresión de datos
que opera según el procedimiento Ziv-Lempel. En el
caso mostrado, el proceso P también comprende una identificación de
canal. Los datos comprimidos se almacenan temporalmente
específicamente por separado para cada canal. Por tanto, lo datos
comprimidos de los paquetes de datos 11, 12 y 14 se almacenan
temporalmente de manera continua hasta que pueda llenarse un campo
de datos de la segunda serie en su totalidad. En el caso mostrado,
los datos comprimidos de los paquetes de datos 11 y 12 podrían, por
ejemplo, llenar el paquete de datos 21 en su totalidad, después de
lo cual este paquete de datos puede transmitirse. Cualquier dato
comprimido restante del canal A se almacena en el almacenamiento
intermedio del canal A (almacenamiento intermedio A). Entonces, los
datos del paquete 13 se comprimen y almacenan en el almacenamiento
intermedio del canal B (almacenamiento intermedio B) (suponiendo
que estos datos no llenan en su totalidad un paquete de datos de la
segunda serie). El siguiente paquete que va a comprimirse, paquete
de datos 14, es el último paquete del grupo que consiste en los
paquetes 11, 12 y 14. Después de la compresión, los datos
comprimidos del canal A se almacenan temporalmente en el
almacenamiento intermedio del canal A, tras lo cual el
almacenamiento intermedio se vacía en disco y los datos comprimidos
del canal A se almacenan en el paquete 22. Si el paquete 22 no está
lleno en su totalidad puede agregarse información de cola. En el
encabezamiento del paquete de datos 22 se especifica preferiblemente
que éste es el último paquete de un grupo. Mientras tanto, el
paquete de datos 15 puede haberse sometido ya al proceso de
compresión. Tal como fue el caso para el canal A, los datos
comprimidos se almacenarán en el almacenamiento intermedio en
cuestión durante un periodo de tiempo corto, en este caso, el
almacenamiento intermedio del canal B, para acomodarse junto con
los datos ya presentes en ese almacenamiento intermedio en el
paquete de datos 23. De manera preferida se especifica en el
encabezamiento del paquete de datos 23 que éste es el último
paquete de datos de un grupo (o canal, respectivamente). Si es
necesario, el campo de datos o el paquete de datos 23, tal como fue
el caso para el paquete de datos 22, se dota de información de cola
(datos de cola).
Se entenderá que las acciones de almacenamiento
temporal de los almacenamientos intermedios mencionados en la
presente memoria pueden implementarse de varias maneras y que, para
más de dos canales, pueden haberse previsto una pluralidad de
almacenamientos intermedios, tal como se muestra en la figura
mediante líneas discontinuas (opcionalmente el almacenamiento
intermedio C para el canal C). Si se ha transmitido el último
paquete de datos de un canal particular, el almacenamiento
intermedio de ese canal puede asignarse, en caso necesario, a otro
canal. Por tanto, si el canal B, por ejemplo, ha terminado, el
almacenamiento intermedio B puede asignarse a un nuevo canal, por
ejemplo, el canal C o D.
Tal como se ha indicado en lo anterior, el
tiempo que los datos pasan en un almacenamiento intermedio puede
ser en muchos casos muy breve. La función de los almacenamientos
intermedios es principalmente la de recopilar datos de un canal
particular de tal manera que los paquetes de la segunda serie puedan
utilizarse de la forma más eficaz posible.
La descompresión según la presente invención
comprende recibir (transmitir) paquetes de datos, someter los
campos de datos de estos paquetes de datos de transmisión a un
proceso de descompresión, y formar (destino) paquetes de datos que
contienen en sus campos de datos los datos descomprimidos. Dado que
no se necesita extraer información de reconstrucción de los campos
de datos, la descompresión y la formación de paquetes de datos de
destino puede tener lugar de forma directa. De forma ventajosa, la
descompresión puede tener lugar de una forma totalmente análoga a
la del proceso de compresión que se bosqueja en la figura 2.
En la figura 3 se muestra esquemáticamente el
método de la invención en relación con el modelo OSI (véase la
referencia 3, capítulo 12). En la comunicación entre dos capas (n,
n-1) de una red de comunicación de acuerdo con el
modelo OSI, entre estas capas tiene lugar una transferencia de las
denominadas "primitivas", también denominadas "unidades de
datos de interfaz" (IDU, Interface Data Unit). Las primitivas de
la capa n se tratan en la capa n-1, es decir, en
una capa inferior. La capa n-1 transformará la
primitiva de la capa n en una o varias unidades de datos de
protocolo (PDU, Protocol Data Unit) que constituyen la comunicación
"virtual" entre la capa n-1 del lado de
emisión y la capa n-1 del lado de recepción. Por
ejemplo, para la capa 3 de X.25 estos son los paquetes del
denominado protocolo de nivel de paquetes (Packet Level
Protocol).
En la mayoría de los casos, los paquetes de
datos A_{1}, A_{2}, …, A_{x} se transferirán a través de la
red intermedia a la capa n-1 del lado de recepción.
Sin embargo, si en la capa n-1 tiene lugar un
tratamiento de los datos, tal como la compresión o descompresión de
los datos, la estructura de las unidades de datos (es decir, los
paquetes de datos o las unidades PDU) necesaria para transferir las
primitivas no se vería afectada por este tratamiento. Ha de
observarse que la longitud de los datos en una primitiva puede ser
sustancialmente mayor que la longitud máxima de una unidad de
datos, viniendo dictada a menudo la longitud de una unidad de datos
por la red implicada.
En la figura 3 se muestra una primitiva A que ha
de transmitirse desde la capa n a la capa n-1 en el
lado de emisión, indicado mediante la S. La primitiva A
representa una serie de paquetes de datos o datos que provienen de
capas superiores en el lado de emisión. En la capa
n-1, la primitiva A da como resultado una primera
serie de los paquetes de datos A_{1}, A_{2}, …, A_{x}, y esta
serie se corresponde a la serie 10 de las figuras 1 y 2. La serie
está sometida a un proceso P, tal como un proceso de compresión de
datos, o, en general, un proceso de codificación. Tal como se
muestra en la figura 3, este proceso tiene lugar en la capa
n-1. Como resultado del proceso P, se produce una
segunda serie de paquetes de datos B_{1}, B_{2}, …, B_{y}, y
esta segunda serie corresponde a la serie 20 de las figuras 1 y 2.
En el caso de compresión de datos, el número de paquetes de datos
de la segunda serie será menor que el de la primera serie: y < x.
La segunda serie 20 se transfiere a través de una red (no mostrada
para una mayor claridad). Tal como se ha descrito, la transferencia
de la serie 20 a través de la red tiene lugar en la capa
n-1, pero puede involucrar a otras capas
(inferiores), tal como la capa n-2.
En el lado de recepción, indicado por R,
básicamente se invierten las etapas anteriores. En primer lugar, la
serie de paquetes de datos B_{1}, B_{2}, …, B_{y} se somete al
proceso P', siendo este proceso P' en la mayoría de los casos el
proceso inverso del proceso P en el lado de emisión, por ejemplo, la
descompresión de datos en la que el proceso P implica la compresión
de datos. Como resultado de esto, se produce una tercera serie 30,
siendo esta tercera serie 30 en la mayoría de los casos equivalente
a la serie 10 y comprendiendo los paquetes de datos A_{1},
A_{2}, …, A_{x}. Estos paquetes de datos de la capa
n-1 se transfieren fundamentalmente como una
primitiva, indicada nuevamente con A, a la siguiente capa superior
(n) del lado de recepción R. La primitiva A puede transferirse a
capas aún superiores según sea necesario.
Como muestra el ejemplo de la figura 3, los
paquetes de datos de un primer formato (A_{1}, A_{2}, …,
A_{x}) se procesan (P), se transfieren como paquetes de datos de
un segundo formato (B_{1}, B_{2}, …, B_{y}) y se procesan
nuevamente (P') en la capa n-1. En este ejemplo, los
paquetes de datos original y resultante son iguales, como también
las correspondientes primitivas. Por tanto, el método según la
invención proporciona una conversión de longitud de las primitivas
de una determinada capa (n) en una capa inferior
(n-1). Como se explicó haciendo referencia a la
figura 2, en este método las relaciones funcionales de las
primitivas se conservan asignando los paquetes de datos de la
segunda serie (B_{1}, B_{2}, …, B_{y}) a únicamente un canal
o canal secundario. Dichas relaciones funcionales pueden comprender,
por ejemplo, la identidad del canal secundario y/o la identidad del
usuario de las primitivas. Tal como se ha mencionado anteriormente,
un canal secundario es una parte constitutiva de un canal, por
ejemplo, todos los paquetes de datos X.25 de un determinado canal
que tienen un bit Q que es igual a 1 constituyen un canal secundario
de dicho canal.
En la capa n-1 se indica la
estructura de las primitivas mediante un marcador de "fin de
mensaje". En el caso de X.25, un marcador de este tipo está
formado por un bit m igual a cero. En las redes basadas en RDSI, por
ejemplo, también puede aplicarse este principio. En el caso de
RDSI, la capa de encaminamiento puede estar formada por un
protocolo de encaminamiento arbitrario, por ejemplo, la capa 3 de
X.25. En el caso del modo de transferencia asíncrono (ATM,
Asynchronous Transfer Mode), el marcador de "fin de mensaje"
está formado por el denominado "campo de tipo de segmento"
(Segment Type File) o "campo ST" (ST Field) (véase la
referencia 5). Esto indica la relación entre las unidades de datos
(denominadas unidades SAR PDU) y las primitivas (denominadas
unidades SAR SDU). En el modo ATM se admite, en el campo ST, ignorar
el "fin de mensaje" por el denominado "mensaje de segmento
individual" (SSM, Single Segment Message) para obtener un factor
de compresión mayor.
Preferiblemente, la capa n-1
mencionada en el ejemplo de la figura 3 es la capa tres del modelo
OSI (n igual a 4). Sin embargo, la capa n-1 también
puede hacer referencia a otros niveles del modelo OSI, tal como la
capa 2 ó 4. El método de la invención puede aplicarse a todas las
técnicas de comunicación basadas en el modelo OSI. Preferiblemente,
el procesamiento tiene lugar en o por encima de la capa de
encaminamiento para mantener la independencia del
encaminamiento.
El método de la invención, cuando se aplica en
la capa 3 del modelo OSI, tiene la ventaja adicional de que la
compresión de los datos puede tener lugar en la misma capa que la
tarificación. Cuando se realiza la compresión en la capa 2, la
carga útil del usuario no se reduce por la compresión de datos. Una
ventaja adicional de la aplicación de la invención en la capa 3 es
el alto factor de compresión que se hace posible dado que en la
capa 2 tiene lugar una combinación de fuentes de información que
ocasiona una baja redundancia de los datos. Debido a la combinación
mencionada, un algoritmo de compresión adaptativo no podrá obtener
una compresión óptima dado que los datos que van a comprimirse
tienen características variables. Con la invención, sin embargo,
puede obtenerse una alta proporción de compresión dado que la
compresión tiene lugar en una capa superior del modelo OSI y los
datos de las distintas fuentes pueden procesarse de forma
separada.
El dispositivo 100, ilustrado de forma
esquemática en la figura 4, comprende una unidad de identificación
100, una unidad de control 120, una unidad de procesamiento 130 que
está conectada, a través de un bus de datos 140, con una memoria
150, y una unidad de almacenamiento intermedio 160. La unidad de
identificación 110 comprende un almacenamiento intermedio de
entrada y, acoplados al mismo, medios de identificación para
identificar (el canal de) paquetes de datos entrantes. La
identificación se transfiere a la unidad de control 120 que a
continuación puede tratar la unidad de procesamiento 130 y la
memoria 150 de una forma relacionada con el canal. De esta manera,
la memoria 150 puede tener almacenados diferentes procesos de
compresión que pueden utilizarse para diferentes canales. Del mismo
modo, pueden almacenarse en la memoria 150 procesos de
descompresión de modo que el dispositivo 100 también puede
utilizarse para la descompresión; si se requiere, el dispositivo
100 es capaz de comprimir algunos canales y descomprimir otros
canales. Al hacerlo así, un proceso de descompresión, o los datos
de reconstrucción necesarios para ese proceso, puede transmitirse
cuando se configura un canal, antes de que se descompriman los
paquetes de datos. También es posible que se construya la memoria
150, en su totalidad o en parte, como memoria de sólo lectura (ROM)
de manera que determinados datos (datos de reconstrucción para el
beneficio de procesos de descompresión, así como uno o varios
procesos de descompresión en sí mismos) están presentes de forma
permanente en el dispositivo 100. Incluso si se utiliza el
dispositivo 100 como un dispositivo de compresión, puede resultar
ventajoso alojar ciertos datos en una memoria de sólo lectura.
El proceso necesario para un determinado canal
se carga, bajo el control de la unidad de control 120, a través del
bus de datos 140 desde la memoria 150 en la unidad de procesamiento
130. La unidad de procesamiento 130 comprende preferiblemente un
microprocesador para ejecutar el proceso de procesamiento. De forma
ventajosa, la unidad de procesamiento 130 está ajustada con una
memoria del procesador para almacenar datos relativos al proceso
actual. Sin embargo, la tarea de la memoria del procesador también
puede realizarla la memoria 150. Para aumentar la velocidad de
procesamiento del dispositivo 100, puede conectarse al bus de datos
140 una pluralidad de unidades de procesamiento 130 paralelas. De
forma alternativa, una pluralidad de (micro) procesadores, cada uno
con una memoria de procesador si así se requiere, pueden acomodarse
en una unidad de procesamiento 130.
La unidad de almacenamiento intermedio 160
comprende un almacenamiento intermedio de salida 161 que, según la
invención, está compuesto por una pluralidad de secciones de
almacenamiento intermedio A, B, C, etc. para el beneficio de los
canales correspondientes. Tal como ya se ha indicado anteriormente,
la asignación de almacenamientos intermedios a canales específicos
no necesita ser fija y puede modificarse si es necesario, en función
de ciertas circunstancias. De esta manera, la sección de
almacenamiento intermedio A de la figura 4, después de que haya
finalizado el canal A, puede asignarse, por ejemplo, a un canal H
(nuevo).
Cada sección de almacenamiento intermedio A, B,
etc. del almacenamiento intermedio de salida 161 comprende un
registro (shift) pero también puede estar formada por memoria de
acceso aleatorio (RAM). Se proporciona una sección de
almacenamiento intermedio BP suplementaria para almacenar
información que especifica qué cantidad de datos, en concreto, qué
cantidad de bits y/o bytes, están almacenados en cada una de las
otras partes de almacenamiento intermedio o, respectivamente,
quedan después de llenarse el último paquete de datos que va a
transmitirse. Si así se requiere, la sección de almacenamiento
intermedio BP puede estar formada por partes independientes
reservadas de secciones de almacenamiento intermedio A, B, etc.
La unidad de almacenamiento intermedio 160
comprende además una unidad de selección 162 formada, por ejemplo,
por un multiplexador, para seleccionar una sección de almacenamiento
intermedio en la que deben almacenarse los datos que se introducen
en la unidad de almacenamiento intermedio 160. Esta selección tiene
lugar, en el ejemplo mostrado, basándose en señales de control que
se han generado por la unidad de control 120 en base a la
información de identificación. La unidad de almacenamiento
intermedio 160 puede también comprender medios (no mostrados) para
generar paquetes de datos apropiados que tienen, por ejemplo, una
longitud de 128 bits, en los que los datos se transmiten desde las
secciones de almacenamiento intermedio.
Por tanto, con la ayuda del dispositivo 100
según la invención es posible la compresión rápida y eficaz de una
serie de paquetes de datos. El grado de eficacia en este contexto
puede depender adicionalmente de la presencia de los códigos de
parada u otros marcadores (tales como el bit m) que indican el fin
de un grupo de paquetes de datos (mensaje, canal). De manera
preferida, el dispositivo 100 está diseñado de tal manera que puede
ajustarse el descuento de códigos de parada y similares. Esto hace
posible adaptar el modo de funcionamiento del dispositivo al
equipamiento conectado al dispositivo.
En un primer modo, el dispositivo no tiene en
cuenta en absoluto el fin de un grupo de paquetes de datos de
manera que los datos se almacenan temporalmente para cada canal
incluso si se completa un mensaje. Esto supone el grado más alto de
llenado de paquetes de datos de la segunda serie dado que ahora no
es necesario transmitir, al final de cada grupo, un paquete de
datos que (en la mayoría de los casos) está parcialmente vacío o
está dotado de datos de cola. Para garantizar que se enviaron los
últimos datos almacenados en el almacenamiento intermedio en
cuestión puede estar previsto un mecanismo temporizador que implica,
por ejemplo, que la unidad de control 120 vacíe en el disco el
almacenamiento intermedio de un canal particular y provoca que un
paquete de datos que va a emitirse desde ese canal si, durante un
espacio de tiempo determinado no se ha recibido ningún paquete de
datos de ese canal en el dispositivo 100.
En un segundo modo, de manera similar no se
tiene en cuenta el final de un grupo de paquetes de datos, sino que
un paquete de la segunda serie se transmite tan pronto como se hayan
procesado los datos de un paquete de la primera serie.
Mientras esto garantiza que los datos se
transmitan lo más rápido posible, el efecto útil de la compresión
de datos será muy pequeño dado que generalmente se formarán paquetes
de datos parcialmente llenos. Sin embargo, si los paquetes de datos
de la segunda serie son más pequeños que los de la primera serie, la
compresión de datos siempre dará como resultado una mejora de la
eficacia de la transmisión de datos, incluso si cada paquete de
datos de una primera serie se convierte en un paquete de datos de la
segunda serie (conversión 1 a 1). En el caso del protocolo X.25,
los paquetes de datos de la segunda serie pueden consistir en menos
segmentos (de, por ejemplo, 64 bytes).
En un tercer modo, sí que se tiene en cuenta los
códigos de detención u otras indicaciones de que se ha alcanzado el
fin de un mensaje o canal. Si se identifica el último paquete de
datos de un mensaje o canal, el almacenamiento intermedio en
cuestión se vacía en disco. Por tanto, la transmisión de datos
rápida se alcanza en todo momento, mientras que la formación de
paquetes de datos llenos sólo parcialmente se restringe de manera
considerable.
Debería observarse que en algunos sistemas para
la transmisión de paquetes de datos puede ser posible distinguir
entre el fin de un mensaje y el fin de un canal, por ejemplo, por la
transmisión, al final de un canal, de un código especial para un
paquete de datos especial. En ese caso, es ventajoso vaciar los
almacenamientos intermedios al final de un mensaje, pero no hacerlo
al final de un canal.
A este respecto, el vaciar los almacenamientos
intermedios implica transmitir la información que permanece en los
almacenamientos intermedios. Cuando se presenta el fin de un canal,
sin embargo, los almacenamientos intermedios pueden
"vaciarse", es decir, se reajusta, sin transmitir la
información restante. En ambos casos los almacenamientos
intermedios se vaciarán en última instancia. El "fin de un
canal" podrá presentarse cuando se interrumpa un canal lógico
(por ejemplo, se "desconecte" en X.25) y cuando en la red se
produzca una indicación de error (por ejemplo, un "paquete de
reajuste" en X.25), indicando que no es seguro que los datos
transmitidos alcanzaran su destino.
El dispositivo 200 mostrado esquemáticamente en
la figura 5 comprende, como el dispositivo 100 de la figura 4, una
unidad de identificación 210, una unidad de control 220, una unidad
de procesamiento 230 que se enlaza mediante un bus de datos 240 con
una memoria 250 y una unidad de almacenamiento intermedio 260. La
unidad de identificación 210 comprende un almacenamiento intermedio
de entrada, y acoplada al mismo, medios de identificación para
identificar (el canal y/o canal secundario de) paquetes de datos
entrantes.
En el dispositivo 200, la unidad de
almacenamiento intermedio 260 comprende un almacenamiento intermedio
de salida 261 que, según la invención, se compone de una pluralidad
de secciones A, B, C, etcétera de almacenamiento intermedio para el
beneficio de los canales correspondientes. En contraste con el
almacenamiento intermedio de salida 261, el almacenamiento
intermedio de salida 261 de la figura 5 comprende secciones de
almacenamiento intermedio que se implementan por duplicado, es
decir, cada sección de almacenamiento intermedio comprende dos
secciones o compartimentos adicionales, estando asignado cada
compartimento a un canal secundario particular. Por tanto, para el
canal A se proporcionan los compartimentos A y A'. De manera
similar, los compartimentos B y B' se proporcionan para el canal B,
etcétera. En el ejemplo dado, los datos de dos canales secundarios
pueden almacenarse temporalmente para cada canal. Se entenderá que
las secciones de almacenamiento intermedio pueden consistir en una
pluralidad de compartimentos, por ejemplo, tres, cuatro o cinco,
para soportar una pluralidad de canales secundarios para cada
canal. La sección de almacenamiento intermedio adicional BP (bit
pointer, indicador de bits) no necesita implementarse en múltiplos,
siempre que tenga un tamaño suficiente para registrar los estados
de todas las secciones de almacenamiento intermedio. La sección de
almacenamiento intermedio BP también puede estar formada por partes
reservadas de las secciones de almacenamiento intermedio A, A', B,
B', etcétera.
En lugar de prever, dentro de un almacenamiento
intermedio 261, que las secciones de almacenamiento intermedio
tengan múltiples compartimentos, el almacenamiento intermedio 261
como un todo puede implementarse, por ejemplo, por duplicado o
triplicado, comprendiendo de esta manera la unidad de almacenamiento
intermedio 260 tantos almacenamientos intermedios 261, 261',
etcétera como sea necesario. De manera alternativa, toda la unidad
de almacenamiento intermedio 260 puede estar prevista en forma de
múltiplo.
Tal como ya se expuso anteriormente, la
asignación de los almacenamientos intermedios o secciones de
almacenamiento intermedio a canales o canales secundarios
específicos no necesita ser fija y puede modificarse en caso
necesario, en función de las circunstancias. Por tanto, la sección
de almacenamiento intermedio A de la figura 5, después de que los
canales secundarios A y A' hayan finalizado, puede asignarse, por
ejemplo, a un (nuevo) canal H.
A unidad de almacenamiento intermedio 260
comprende una unidad de selección 262 que, adicionalmente a las
funciones de la unidad de selección 161 de la unidad de selección
161 de la unidad de almacenamiento intermedio 160 realiza una
selección basada en canales secundarios, es decir, la unidad de
selección 262 asigna datos a las secciones de almacenamiento
intermedio basándose en las identificaciones de su canal y su canal
secundario. Aparte de la unidad de almacenamiento intermedio 260,
el dispositivo 200 puede ser equivalente al dispositivo 100 de la
figura 4 desde el punto de vista funcional y estructural. Sin
embargo, la unidad de procesamiento 230 y la unidad de control 250
se disponen preferiblemente para el procesamiento de datos en
función de su identificación de canal secundario correspondiente.
La unidad de identificación 210 se dispone de manera similar para
la identificación de canales secundarios.
El dispositivo 100 de la figura 4 y el
dispositivo 200 de la figura 5 puede hacerse a partir de componentes
disponibles en el mercado (véase la referencia 6). De manera
ventajosa, sin embargo, este dispositivo también puede
implementarse como un circuito integrado de aplicación específica
(ASIC). Para prever, en un dispositivo, la compresión y la
descompresión para el tráfico bidireccional, pueden alojarse dos
dispositivos 100 juntos en un alojamiento, o alternativamente estar
completamente integrados.
El sistema de la figura 6 comprende dispositivos
2 de compresión y descompresión que están conectados unos a otro a
través de una red 1. En esta disposición, cada uno de los
dispositivos 2 puede, por ejemplo, comprender dos dispositivos 100
ó 200 de la figura 4 o la figura 5 respectivamente. La red 1 puede
ser una red de comunicación conocida por sí misma, tal como un
sistema operativo de red según el protocolo X.25. Un dispositivo 2
puede tener una pluralidad de unidades 3 conectadas al mismo, que
pueden comprender cada una multiplexadores. En caso necesario,
estas unidades 3 pueden emitir no paquetes de datos, sino flujos de
datos, que se forman solamente en paquetes de datos en los
dispositivos 2. Los dispositivos 3 pueden tener conectados a los
mismos una pluralidad de usuarios finales 4. Entre los usuarios
finales 4 puede configurarse una pluralidad de canales (lógicos).
Al aplicarse la invención, los datos de estos canales pueden
transmitirse en todo momento de manera eficaz de forma comprimida a
través de la red.
Claims (26)
1. Método para convertir una primera serie (10)
de paquetes de datos, presentando cada uno un campo de
encabezamiento (h) y un campo de datos (d) en una segunda serie
(20) de paquetes de datos, presentando cada uno un campo de
encabezamiento (h) y un campo de datos (d), comprendiendo ambas
series paquetes de datos de una pluralidad de canales (A, B), y
estando sometidos los datos de los campos de datos de la primera
serie (10) a un proceso de compresión (P) y siendo alojados
entonces en los campos de datos de la segunda serie (20),
caracterizado porque cada campo de datos de la segunda serie
(20) contiene datos de solamente un canal (por ejemplo, A) y los
datos que van a alojarse en los campos de datos de la segunda serie
(20) se comprimen por canal.
2. Método según la reivindicación 1, en el que
los datos comprimidos que van a alojarse en un campo de datos de la
segunda serie (20) se almacenan temporalmente por canal (A; B).
3. Método según la reivindicación 2, en el que
se lleva a cabo una comprobación acerca de si el último paquete de
datos de un canal (por ejemplo, A) se presenta en la primera serie
(20) y, en el caso de que se presente el último paquete de datos,
todos los datos comprimidos de ese canal almacenados temporalmente
(por ejemplo, A) se alojan en uno o más paquetes de datos de la
segunda serie (20).
4. Método según la reivindicación 3, en el que
si en la segunda serie (20) el campo de datos del último paquete de
datos de un canal no se llena en su totalidad, ese campo de datos se
complementa con datos de cola.
5. Método según la reivindicación 4, en el que
los datos de cola comprenden una cadena de bits idénticos,
preferiblemente al menos once.
6. Método según la reivindicación 3 ó 4, en el
si los datos de cola están presentes en un paquete de datos de la
segunda serie (20) se lleva a cabo una comprobación acerca de si al
menos un último paquete de datos se ha presentado en la primera
serie (10).
7. Método según cualquiera de las
reivindicaciones 2 a 6, en el que un campo de datos de la segunda
serie (20) comprende exclusivamente datos comprimidos y/o datos de
cola.
8. Método según cualquiera de las
reivindicaciones 2 a 7, en el que la presencia del último paquete de
datos de un canal (por ejemplo, A) se detecta basándose en la
información en los campos de encabezamiento (h) de los paquetes de
datos de la primera serie (10).
9. Método según las reivindicaciones 2 a 8, en
el que los paquetes de datos (por ejemplo, 11, 12, 13, …) se
diseñan para la transmisión de datos según el protocolo X.25.
10. Método según las reivindicaciones 8 y 9, en
el que la información sobre cuya base se detecta la presencia del
último paquete de datos de un canal (por ejemplo, A) comprende el
bit m ("bit de más datos").
11. Método según cualquiera de las
reivindicaciones 1 a 10, en el que en el proceso de compresión (P)
se aplica una tabla que contiene palabras de código basada en la
frecuencia de la presencia de los datos, estando fijada dicha tabla
de manera preferida al menos durante un periodo de tiempo
determinado.
12. Método según las reivindicaciones 1 a 11,
en el que la compresión se aplica solamente a paquetes de datos de
alguno de los canales (por ejemplo, B).
13. Método según cualquiera de las
reivindicaciones 1 a 12, en el que en lugar de la primera serie (10)
de paquetes de datos se convierte un flujo de bits.
14. Método para transformar una segunda serie
(20) de paquetes de datos que se ha formado a partir de una primera
serie (10) de paquetes de datos según las reivindicaciones 1 a 13,
en una tercera serie (30) de paquete de datos que presentan campos
de encabezamiento (h) y campos de datos (d), estando sometidos los
datos de campos de datos (d) de la segunda serie (20) a un proceso
de descompresión de datos y siendo alojados en campos de datos (h)
de la tercera serie (30), caracterizado porque los datos que
van a alojarse en un campo de datos (d) de la tercera serie (30) se
almacenan temporalmente por canal (por ejemplo, A).
15. Método según la reivindicación 14, en el que
los paquetes de datos de la tercera serie (30) son idénticos a los
paquetes de datos de la primera serie (10).
16. Método para transmitir paquetes de datos,
que comprende la transformación de una primera serie de paquetes de
datos (10) según las reivindicaciones 1 a 14, transmitiendo de la
segunda serie de paquetes de datos (20) formada de esta manera y
transformando de la segunda serie de paquetes de datos en una
tercera serie (30) de paquetes de datos según la reivindicación 15
ó 16.
\newpage
17. Método según la reivindicación 16, en el que
se transmite información de reconstrucción antes de que se
transmita la segunda serie (20) de paquetes de datos.
18. Método según la reivindicación 16 ó 17, en
el que en la primera serie (10) los paquetes de datos de al menos
un canal (por ejemplo, A) se presentan de manera intermitente, y en
el que para ese canal (A) se transmite al menos un paquete de datos
de la segunda serie (20) de manera intermitente, incluso si los
datos de ese paquete se han llenado sólo parcialmente.
19. Método según la reivindicación 18, en el que
los paquetes de datos (por ejemplo 21, 22) de la segunda serie (20)
se transmiten según el protocolo X.25.
20. Método según la reivindicación 18 ó 19, en
el que un paquete de datos de la segunda serie (20) se transmite si
desde el alojamiento de los datos en un almacenamiento intermedio
vacío del canal (por ejemplo, A) al que pertenece el paquete de
datos ha transcurrido un espacio de tiempo predeterminado.
21. Dispositivo (100; 200) para comprimir
paquetes de datos que comprende medios de entrada (110; 210) para
recibir una primera serie de paquetes de datos (10), presentando
cada uno un campo de encabezamiento (h) y un campo de datos (d),
medios de identificación (110; 210) para determinar el canal (A, B,
…) de los paquetes de datos recibidos, medios de procesamiento
(130; 230) para comprimir el campo de datos de cada paquete de
datos que va a comprimirse, y medios de salida (160; 260) para
formar una segunda serie (20) de paquetes de datos presentando cada
una un campo de encabezamiento y un campo de datos, y para alojar en
el campo de datos de un paquete de datos de la segunda serie (20)
un campo de datos comprimidos de la primera serie (10),
caracterizado porque están previstos medios de procesamiento
(130; 230) para comprimir por canal (A, B, …) datos que van a
alojarse en un campo de datos de la segunda serie (20) y para alojar
en cada campo de datos de la segunda serie (20) datos de solamente
un canal (por ejemplo, A).
22. Dispositivo (100, 200) según la
reivindicación 21, en el que medios individuales de almacenamiento
temporal (161; 261) están previstos para almacenar temporalmente
por canal (A, B, …) datos comprimidos que van a alojarse en un
campo de datos de la segunda serie (20).
23. Dispositivo (100; 200) según las
reivindicaciones 21 ó 22, en el que para cada canal (A, B, …) se
reserva espacio de memoria en una memoria (150; 250; BP) común a
los canales.
24. Dispositivo (100; 200) según las
reivindicaciones 21 a 23, en el que están previstos medios para
generar datos de cola.
25. Dispositivo (100; 200) según las
reivindicaciones 21 a 24, en el que los medios de procesamiento
(130; 230) se disponen para descomprimir paquetes de datos.
26. Sistema para transmitir paquetes de datos en
forma comprimida que comprende al menos un dispositivo según
cualquiera de las reivindicaciones 21 a 25.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL9400100 | 1994-01-21 | ||
NL9400100A NL9400100A (nl) | 1994-01-21 | 1994-01-21 | Werkwijze en inrichting voor het door middel van datacompressie omvormen van een reeks van datapakketten. |
NL9401980 | 1994-11-25 | ||
NL9401980 | 1994-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2262743T3 true ES2262743T3 (es) | 2006-12-01 |
Family
ID=26647176
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES95906282T Expired - Lifetime ES2199980T3 (es) | 1994-01-21 | 1994-12-29 | Procedimiento y dispositivo de transformacion de una sucesion de paquetes de datos por medio de compresion de datos. |
ES02023518T Expired - Lifetime ES2262743T3 (es) | 1994-01-21 | 1994-12-29 | Metodo y dispositivo para transformar una serie de paquetes de datos mediante compresion de datos. |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES95906282T Expired - Lifetime ES2199980T3 (es) | 1994-01-21 | 1994-12-29 | Procedimiento y dispositivo de transformacion de una sucesion de paquetes de datos por medio de compresion de datos. |
Country Status (13)
Country | Link |
---|---|
US (1) | US5774467A (es) |
EP (2) | EP0740877B1 (es) |
JP (1) | JP2841247B2 (es) |
CN (1) | CN1097933C (es) |
AT (2) | ATE242570T1 (es) |
AU (1) | AU693844B2 (es) |
CA (1) | CA2180345C (es) |
CZ (1) | CZ285088B6 (es) |
DE (2) | DE69432798T2 (es) |
ES (2) | ES2199980T3 (es) |
HU (1) | HU219934B (es) |
NO (1) | NO318121B1 (es) |
WO (1) | WO1995020285A1 (es) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL9402103A (nl) * | 1994-12-12 | 1996-07-01 | Nederland Ptt | Werkwijze en inrichtingen voor het in bewerkte vorm over een communicatiekanaal overdragen van data. |
US6229823B1 (en) * | 1997-08-01 | 2001-05-08 | Paradyne Corporation | System and method for the compression of proprietary encapsulations |
DE19983292T1 (de) | 1998-06-18 | 2003-04-03 | Sony Electronics Inc | Verfahren und ein Gerät zum Aufteilen, zum maßstabsgetreuen Ändern und zum Anzeigen von Video- und/oder Graphik über mehrere Anzeigeeinrichtungen |
US6593937B2 (en) | 1998-06-18 | 2003-07-15 | Sony Corporation | Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format |
US6304914B1 (en) | 1998-09-22 | 2001-10-16 | Microsoft Corporation | Method and apparatus for pre-compression packaging |
US6407994B1 (en) * | 1998-12-01 | 2002-06-18 | Alcatel Usa Sourcing, L.P. | System and method for bundling messages for transmission in a telecommunications network |
US6463070B1 (en) * | 1999-08-27 | 2002-10-08 | Tachyon, Inc. | System and method for clock correlated data flow in a multi-processor communication system |
GB2355161B (en) * | 1999-10-05 | 2001-09-12 | 3Com Corp | Network device incorporating selective compression of stored data packets |
US7249155B1 (en) | 2000-02-09 | 2007-07-24 | International Business Machines Corporation | Method for processing a request to multiple instances of a server program |
AU2001296586A1 (en) * | 2000-10-05 | 2002-04-15 | Provisionpoint Communications, Llc | Group packet encapsulation and compression system and method |
US6618397B1 (en) * | 2000-10-05 | 2003-09-09 | Provisionpoint Communications, Llc. | Group packet encapsulation and compression system and method |
US20020095513A1 (en) * | 2001-01-16 | 2002-07-18 | Freddie Lin | Multilayer lossless data compression across a network |
JP3902762B2 (ja) * | 2001-03-29 | 2007-04-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 信号を伝送するためのデータの減少されたデータストリーム |
US20030009583A1 (en) * | 2001-05-02 | 2003-01-09 | Mtel Limited | Protocol for accelerating messages in a wireless communications environment |
US20020196743A1 (en) * | 2001-06-20 | 2002-12-26 | Sebastian Thalanany | Apparatus and method for enhancing performance in a packet data system |
US6961011B2 (en) * | 2001-08-27 | 2005-11-01 | Freescale Semiconductor, Inc. | Data compression system |
US7245639B2 (en) * | 2002-03-01 | 2007-07-17 | Nokia Corporation | Compression scheme for IP mobile user |
WO2005053170A2 (en) * | 2003-11-24 | 2005-06-09 | Interdigital Technology Corporation | Method and apparatus for compiling a protocol data unit |
KR100739509B1 (ko) * | 2004-07-30 | 2007-07-13 | 삼성전자주식회사 | 다중 채널 구조 무선 통신 시스템에서 헤더 정보 송수신장치 및 방법 |
US20070035668A1 (en) * | 2005-08-11 | 2007-02-15 | Sony Corporation | Method of routing an audio/video signal from a television's internal tuner to a remote device |
CN101599986B (zh) * | 2008-06-02 | 2012-08-08 | 宏碁股份有限公司 | 加速文件传输速度的方法及计算机系统 |
US20200259896A1 (en) * | 2019-02-13 | 2020-08-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Industrial Automation with 5G and Beyond |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8526620D0 (en) * | 1985-10-29 | 1985-12-04 | British Telecomm | Communications network |
JP2535615B2 (ja) * | 1989-08-14 | 1996-09-18 | 株式会社東芝 | デ―タ同期伝送方式 |
AU624274B2 (en) * | 1989-11-20 | 1992-06-04 | Digital Equipment Corporation | Data format for packets of information |
US5121383A (en) * | 1990-11-16 | 1992-06-09 | Bell Communications Research, Inc. | Duration limited statistical multiplexing in packet networks |
US5307413A (en) * | 1991-07-19 | 1994-04-26 | Process Software Corporation | Method and apparatus for adding data compression and other services in a computer network |
FR2687259B1 (fr) * | 1992-02-11 | 1994-05-06 | Ouest Standard Telematique Sa | Procede de compression de donnees pour systeme de transmission par unites de donnees de protocole, procede de decompression et dispositif correspondant. |
US5414812A (en) * | 1992-03-27 | 1995-05-09 | International Business Machines Corporation | System for using object-oriented hierarchical representation to implement a configuration database for a layered computer network communications subsystem |
US5459722A (en) * | 1994-06-30 | 1995-10-17 | At&T Ipm Corp. | Asynchronous transfer mode (ATM) transport of voice-band signals |
-
1994
- 1994-12-29 ES ES95906282T patent/ES2199980T3/es not_active Expired - Lifetime
- 1994-12-29 EP EP95906282A patent/EP0740877B1/en not_active Expired - Lifetime
- 1994-12-29 AT AT95906282T patent/ATE242570T1/de not_active IP Right Cessation
- 1994-12-29 EP EP02023518A patent/EP1280279B1/en not_active Expired - Lifetime
- 1994-12-29 DE DE69432798T patent/DE69432798T2/de not_active Expired - Lifetime
- 1994-12-29 AU AU14543/95A patent/AU693844B2/en not_active Expired
- 1994-12-29 AT AT02023518T patent/ATE325469T1/de active
- 1994-12-29 CN CN94194872A patent/CN1097933C/zh not_active Expired - Lifetime
- 1994-12-29 CZ CZ962085A patent/CZ285088B6/cs not_active IP Right Cessation
- 1994-12-29 CA CA002180345A patent/CA2180345C/en not_active Expired - Lifetime
- 1994-12-29 ES ES02023518T patent/ES2262743T3/es not_active Expired - Lifetime
- 1994-12-29 HU HU9601980A patent/HU219934B/hu unknown
- 1994-12-29 WO PCT/EP1994/004342 patent/WO1995020285A1/en active IP Right Grant
- 1994-12-29 DE DE69434727.2T patent/DE69434727C5/de not_active Expired - Lifetime
- 1994-12-29 JP JP7519310A patent/JP2841247B2/ja not_active Expired - Lifetime
-
1995
- 1995-01-05 US US08/368,986 patent/US5774467A/en not_active Expired - Lifetime
-
1996
- 1996-07-19 NO NO19963023A patent/NO318121B1/no not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69432798D1 (de) | 2003-07-10 |
CA2180345C (en) | 1999-09-21 |
CA2180345A1 (en) | 1995-07-27 |
CN1142300A (zh) | 1997-02-05 |
NO963023D0 (no) | 1996-07-19 |
CN1097933C (zh) | 2003-01-01 |
HU219934B (hu) | 2001-09-28 |
EP1280279A3 (en) | 2003-09-24 |
WO1995020285A1 (en) | 1995-07-27 |
ATE242570T1 (de) | 2003-06-15 |
DE69432798T2 (de) | 2004-05-06 |
AU693844B2 (en) | 1998-07-09 |
DE69434727T2 (de) | 2006-11-23 |
DE69434727D1 (de) | 2006-06-08 |
US5774467A (en) | 1998-06-30 |
EP0740877B1 (en) | 2003-06-04 |
CZ208596A3 (cs) | 1998-12-16 |
JPH09501810A (ja) | 1997-02-18 |
ES2199980T3 (es) | 2004-03-01 |
HUT75822A (en) | 1997-05-28 |
ATE325469T1 (de) | 2006-06-15 |
DE69434727C5 (de) | 2021-06-02 |
AU1454395A (en) | 1995-08-08 |
JP2841247B2 (ja) | 1998-12-24 |
NO963023L (no) | 1996-07-19 |
CZ285088B6 (cs) | 1999-05-12 |
EP1280279B1 (en) | 2006-05-03 |
HU9601980D0 (en) | 1996-09-30 |
EP1280279A2 (en) | 2003-01-29 |
NO318121B1 (no) | 2005-02-07 |
EP0740877A1 (en) | 1996-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2262743T3 (es) | Metodo y dispositivo para transformar una serie de paquetes de datos mediante compresion de datos. | |
ES2324279T3 (es) | Dispositivo de transmision que tiene una capa de control de enlace de radio en un sistema de comunicacion de radio y un procedimiento de transmision de datos en el mismo. | |
ES2287939T3 (es) | Procedimiento y aparato para proporcionar datos a tasa de transmision variable en un sistema de comunicaciones que utiliza multiplexacion estadistica. | |
EP1095535B1 (en) | Source node for a broadband network with atm cells | |
US8644319B2 (en) | Method of data transmission in a data communication network | |
US5481544A (en) | Multi-channel broadband adaptation processing | |
TW432832B (en) | Communication system | |
EP0436069B1 (en) | Method and device for switching fixed-length packets such as ATM cells | |
US5001702A (en) | Packet switching network for multiple packet types | |
EP0996889A1 (en) | A frame format and frame assembling/disassembling method for the frame format | |
ES2553616T3 (es) | Establecimiento de prioridades y control de flujo de un canal multiusuario de espectro ensanchado | |
EP1466430B1 (en) | Compressing cell headers for data communication | |
JP3342649B2 (ja) | 帯域幅削減atmネットワーク及びその方法 | |
US5606552A (en) | Broadband adaptation processing | |
JP2000216785A (ja) | セル処理装置及びatm交換機及びセル廃棄方法 | |
ES2216066T3 (es) | Metodo de transmision de datos. | |
ES2307789T3 (es) | Metodo y disposicion para procesamiento asincrono de datos de cctrch. | |
JPH06507056A (ja) | Pcm伝送系用のビット適応ディジタル交換機と汎用ディジタル交換機 | |
ES2229290T3 (es) | Procedimiento y dispositivo para la transmision de informaciones no ligadas a la voz. | |
KR100596272B1 (ko) | 기억 장치 및 기억 방법 | |
CN101310485B (zh) | 通信系统和方法 | |
WO1998008351A1 (en) | Utilizing atm cells in mobile network | |
ES2201022T3 (es) | Procedimiento de comunicacion entre una estacion de base y un telefono movil y telefono movil utilizable para poner en practica el procedimiento. | |
ES2204342A1 (es) | Metodo y aparato para transmision transparente entre redes tdm y una red basada en paquetes o celulas. | |
KR20030053006A (ko) | 패킷 스위칭 원리에 따른 데이터 통신 시스템 |