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
Application number
ES02023518T
Other languages
English (en)
Inventor
Jose Manuel Herrera Van Der Nood
Johannes Bernardus Roubos
Ben Schellingerhout
Eric Simon Trommel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke KPN NV
Original Assignee
Koninklijke KPN NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26647176&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2262743(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from NL9400100A external-priority patent/NL9400100A/nl
Application filed by Koninklijke KPN NV filed Critical Koninklijke KPN NV
Application granted granted Critical
Publication of ES2262743T3 publication Critical patent/ES2262743T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network 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.
Antecedentes de la invención
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.
Sumario de la invención
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.
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.
Referencias
[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.
Realizaciones ilustrativas
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.
ES02023518T 1994-01-21 1994-12-29 Metodo y dispositivo para transformar una serie de paquetes de datos mediante compresion de datos. Expired - Lifetime ES2262743T3 (es)

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)

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

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

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) 패킷 스위칭 원리에 따른 데이터 통신 시스템