ES2199980T3 - Procedimiento y dispositivo de transformacion de una sucesion de paquetes de datos por medio de compresion de datos. - Google Patents

Procedimiento y dispositivo de transformacion de una sucesion de paquetes de datos por medio de compresion de datos.

Info

Publication number
ES2199980T3
ES2199980T3 ES95906282T ES95906282T ES2199980T3 ES 2199980 T3 ES2199980 T3 ES 2199980T3 ES 95906282 T ES95906282 T ES 95906282T ES 95906282 T ES95906282 T ES 95906282T ES 2199980 T3 ES2199980 T3 ES 2199980T3
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
ES95906282T
Other languages
English (en)
Inventor
Jose Manuel Herrera Van Der Nood
Eric Simon Trommel
Johannes Bernardus Roubos
Ben Schellingerhout
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=ES2199980(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 ES2199980T3 publication Critical patent/ES2199980T3/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)
  • Communication Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

LA INVENCION SE REFIERE A UN METODO Y DISPOSITIVO PARA CONVERTIR PAQUETES DE DATOS POR CODIFICACION O COMPRESION (P), SIENDO LOS PAQUETES DE DATOS FUENTE (11, 15) CONVERTIDOS EN PAQUETES DE DATOS DE TRANSMISION (21-23). CON EL FIN DE CONSEGUIR UN GRADO OPTIMO DE RELLENO DE LOS PAQUETES DE DATOS DE TRANSMISION, UN CAMPO DE DATOS DE UN PAQUETE DE DATOS DE TRANSMISION (POR EJEMPLO 21) DE ACUERDO CON LA INVENCION COMPRENDE SOLAMENTE DATOS DE UN CANAL LOGICO (POR EJEMPLO A). CON ESTE FIN, LOS DATOS CONVERTIDOS DE LOS CANALES LOGICOS (A,B,...) ESTAN SEPARADAMENTE ALMACENADOS EN MEMORIAS BUFFER PREFERENTEMENTE PARALELAS. LA INFORMACION DE RECONSTRUCCION NO SE INCORPORA A LOS CAMPOS DE DATOS DE LOS PAQUETES DE DATOS DE TRANSMISION, PERO SI ES NECESARIO, SE TRANSMITE POR ADELANTADO. LA INVENCION SE APLICA, EN PARTICULAR, EN REDES X.25.

Description

Procedimiento y dispositivo de transformación de una sucesión de paquetes de datos por medio de compresión de datos.
Antecedentes de la invención
La presente invención se refiere a un procedimiento para comprimir paquetes de datos, un procedimiento 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 procedimiento para realizar, en un sistema de comunicaciones, una conversión de longitud de las así llamadas primitivas y a medios para realizar dicho procedimiento.
Más concretamente, la invención se refiere a un procedimiento para convertir una primera serie de paquetes de datos, teniendo cada una un campo de cabecera y un campo de datos, en una segunda serie de paquetes de datos, teniendo cada uno un campo de cabecera y un campo de datos, comprendiendo ambas series paquetes de datos de una pluralidad de canales y estando los datos de los campos de datos de la primera serie sometidos a un proceso de compresión y luego alojándose en los campos de datos de la segunda serie. Dicho procedimiento se conoce a partir de la Solicitud de Patente Europea EP-A-0.559.593.
La compresión de datos se aplica, en la práctica, para poder incrementar la capacidad de un canal de comunicaciones. Por medio de la compresión de los datos a transmitirse, una determinada cantidad de datos puede transmitirse en menos tiempo o por un ancho de banda más pequeño. La compresión de datos, dentro de este contexto, se realiza en muchos casos mediante un proceso de compresión en el que la frecuencia de presencia de mensajes o palabras de datos se utiliza para codificar los datos de manera más eficiente: sustituyendo los datos más frecuentes por un código corto y los datos menos frecuentes por un código largo, puede conseguirse un alto grado de compresión. A continuación, los datos comprimidos pueden transmitirse, por ejemplo en la forma de paquetes de datos. De este modo, 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, es decir, contiene menos datos que la primera serie.
En el procedimiento conocido, una primera serie de paquetes de datos que puede tener su origen en varias fuentes (canales) se transforma en una segunda serie de paquetes de datos que pueden transmitirse a través de un canal (red), almacenándose información, en los campos de datos de la segunda serie, en relación con los paquetes de datos originales. De este modo, los campos de datos de la segunda serie contienen campos de subcabeceras donde, entre otras cosas, se almacena la longitud de un campo de datos comprimidos e información de reconstrucción. Sobre la base de dichos campos de subcabeceras, pueden reconstruirse los campos de datos originales, es decir, los campos de datos de los paquetes de datos de la primera serie.
Este procedimiento conocido tiene el inconveniente de que una cantidad relativamente grande de información suplementaria, es decir, los campos de subcabeceras, tienen que transmitirse. Como resultado, los campos de datos de la segunda serie son efectivamente reducidos en tamaño y disminuye la capacidad de transmisión útil de los paquetes de datos. Este efecto es todavía mayor para longitudes de paquetes más pequeñas, donde una parte relativamente grande de la capacidad de transmisión potencial se toma por estas tareas generales de soporte. Además, en el caso del procedimiento conocido, los campos de subcabeceras deben estar siempre separados en el lado de la recepción respecto a los datos útiles, antes de que puedan descomprimirse los campos de datos. Esto trae consigo un paso de proceso adicional que cuesta tiempo de proceso y medios de proceso (circuitos y/o programas informáticos). Si el procedimiento conocido se utiliza para transmitir, a través de una red que tenga estaciones intermedias (centrales, puntos de conmutación), mensajes entre varias fuentes y destinos, el método conocido trae consigo también la necesidad de que todas las estaciones intermedias soporten la función de compresión, puesto que tiene que adaptarse el encaminamiento de la red al agrupamiento de canales en paquetes de datos comprimidos.
Resumen de la invención
El objeto de la invención es superar los anteriormente mencionados y otros inconvenientes de la técnica anterior y proporcionar un procedimiento para transformar, por medio de la compresión de datos, una serie de paquetes de datos que proporcionan una transmisión eficiente de los datos comprimidos haciendo uso óptimo de los campos de datos de la segunda serie.
En particular, es un objeto de la presente invención proporcionar un procedimiento que transforme campos de datos, que suministre paquetes de datos de diferentes canales para ser procesados con eficacia.
Otro objeto de la invención es proporcionar un procedimiento para transformar paquetes de datos, que sea especialmente adecuado para su uso en redes X.25.
Es también objeto de la presente invención proporcionar un procedimiento para transformar paquetes de datos, que sea independiente del proceso de compresión o descompresión usado.
Para esta finalidad, el procedimiento según la invención está caracterizado porque cada campo de datos de la segunda serie contiene datos de solamente un canal y porque los datos a alojarse en un campo de datos de la segunda serie son bufereados por canal. Dicho de otro modo, en la segunda serie solamente se incorporan datos de un canal en el campo de datos de cada paquete de datos. Esto tiene la ventaja, entre otras cosas, de que los datos (comprimidos) de los diversos canales se transmiten en paquetes de datos separados, de modo que no sea necesario especificar, dentro de un paquete de datos qué datos pertenecen a qué canal. Los paquetes de datos de la segunda serie pueden así, en principio, transmitirse directamente a sus destinos finales sin ser primero descomprimidos. Al comprimir cada canal por separado, según la invención, se asegura también que solamente la estación transmisora y la estación receptora, dentro de una red, necesiten compresión de soporte, sin que la propia red de transmisión esté diseñada para la compresión. Según la técnica anterior mencionada, en cambio, se necesita una adaptación de la red para la compresión de soporte de una pluralidad de canales, es decir, de una pluralidad de canales (fuente) a un solo canal (red).
Para poder proporcionar la posibilidad de paquetes de datos sucesivos, en la primera serie (de paquetes de datos originales), perteneciente a diferentes canales, sin transmitir, en la segunda serie, paquetes de datos parcialmente vacíos, según la invención, los datos de los diferentes canales son objeto de almacenamiento intermedio ("bufereados") por separado, es decir, por canal. Esto hace posible un relleno óptimo de los paquetes de datos de la segunda serie (de paquetes de datos "comprimidos") con datos, puesto que, para cada canal, pueden guardarse datos comprimidos, por ejemplo, hasta que esté completamente rellenado el campo de datos de un paquete de datos.
Dentro de este contexto, de manera incidental, el término "canal" se refiere a un canal lógico; dicho de otro modo, una ruta de transmisión entre una fuente (lado emisor) y un destino (lado receptor), cuya ruta existe durante un tiempo determinado. En el proceso, una pluralidad de canales pueden ser activos a través de un enlace físico, pero un canal no necesita expresamente ser asignado a un enlace físico concreto. A través de un canal, se transmiten uno o más mensajes en la forma de paquetes de datos, siendo generalmente concluido un mensaje mediante un marcado de "fin de mensaje" (código de parada). Dicho marcador de "fin de mensaje" indica, por lo tanto, el final de un grupo de paquetes de datos, que están funcionalmente asociados entre sí.
Un canal puede comprender, a tal propósito, varios subcanales (canales constituyentes), donde, por ejemplo, un subcanal transporta datos de usuarios mientras que otro transporta datos de control. En el caso de X.25, por ejemplo, los subcanales se identifican por el bit Q. En caso de que puedan identificarse subcanales, el procedimiento según la invención se caracteriza porque cada campo de datos de la segunda serie contiene datos de solamente un subcanal y porque los datos a alojarse en un campo de datos de la segunda serie son objeto de almacenamiento intermedio por subcanal. Quedará entendido que un subcanal puede coincidir con un canal. Por este motivo, en este texto la palabra "canal" se entenderá generalmente con el significado de "canal o subcanal".
La serie anteriormente mencionada de paquetes de datos puede, como ya se mencionó, contener paquetes de datos de una pluralidad de canales, pero también puede estar compuesta por paquetes de datos de solamente un canal (o subcanal). Al mismo tiempo, la serie puede comprender uno o más mensajes, pueden ser síncronos y asíncronos y no necesitan tener una longitud fija o específica. De este modo, una "serie" puede consistir también en un paquete de datos único.
Cuando se trata de términos del modelo OSI (véase referencia 3, capítulo 12), puede decirse que la invención proporciona un procedimiento para realizar, en un sistema de comunicaciones, una conversión de longitud de primitivas de un primer nivel (por ejemplo, n), siendo las primitivas transferidas a un segundo nivel más bajo (p.e., n-1), teniendo 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, la relación funcional comprende una identidad de usuario o canal, mientras que la conversión de longitud comprende la compresión de datos.
En el procedimiento, según la invención, en una realización preferible, se realiza una comprobación en cuanto a si el último paquete de datos de un canal está presente en la primera serie y en el caso de estarlo, todos los datos bufereados de dicho canal se alojan en uno o más paquetes de datos de la segunda serie, es decir, a medida que se recibe el último paquete de datos de un canal, se descarga la respectiva memoria intermedia (o conjunto de memorias intermedias), pasando todos los datos de dicha memoria intermedia a paquetes de datos. De este modo, el grupo de paquetes de datos de un determinado canal se termina sin que tenga que transcurrir un tiempo de espera específico para esta finalidad. Asimismo, las memorias intermedias descargadas pueden hacerse disponibles para un canal diferente. A este propósito, dentro de 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 lo tanto, el último paquete de datos de un mensaje transmitido a través de ese canal. El propio canal, que puede comprender, por ejemplo, un enlace físico o lógico, puede seguir existiendo en el proceso. La presencia del último paquete de datos puede detectarse, de hacerlo así, sobre la base de, por ejemplo, un marcador de "fin de mensaje". Dicho grupo de paquetes de datos, de los cuales se detecta la presencia del último paquete de datos, puede comprender también una parte de un mensaje o una pluralidad de mensajes, por ejemplo los paquetes de datos de un canal, que han sido recibidos durante un determinado período.
Cuando el último paquete de datos de un canal de la primera serie está presente y los datos bufereados son alojados en un paquete de datos de la segunda serie, es posible que los datos bufereados puedan no rellenar el campo de datos del paquete de datos en su integridad. Para poder determinar, de una manera sencilla, en el lado de recepción, dónde finalizan los datos útiles, se establece que, si en la segunda serie el campo de datos del último paquete de datos de un canal no está relleno en su integridad, dicho campo de datos sea complementado con datos de bloques finales de cola . Estos datos de bloques finales de cola son preferiblemente elegidos de tal manera que puedan reconocerse como tales en el lado de recepción de una manera sencilla y por lo tanto, preferiblemente comprenden un código fijo. De este modo, los datos de bloques finales de cola pueden comprender una cadena de bits idénticos, preferiblemente por lo menos once dígitos ''1''. El número de bits idénticos es convenientemente seleccionado en el proceso de acuerdo con la codificación utilizada para la compresión de datos, por ejemplo de tal manera que el número de bits sea igual o mayor que el número de bits en la palabra de código más larga.
Preferiblemente, si los datos de bloques finales de cola están presentes en un paquete de datos de la segunda serie, se realiza una comprobación en cuanto a si estaba presente un último paquete de datos en la primera serie. Para ello se proporciona una comprobación de error simple pero muy eficaz.
Ventajosamente, el procedimiento según la presente invención se realiza de tal manera que un campo de datos de la segunda serie comprenda exclusivamente datos comprimidos y/o datos de bloques finales de cola . Dicho de otro modo, en un campo de datos de la segunda serie no está presente ninguna información complementaria con respecto a la longitud de un mensaje, el canal en cuestión e informaciones similares. Por lo tanto, puede utilizarse, de manera óptima, la capacidad de transmisión disponible de los paquetes de datos.
A tal propósito, dentro de este contexto, los así denominados "datos comprimidos" pueden, en algunos casos, contener también datos no comprimidos que, sin embargo, tienen su origen en un campo de datos de la primera serie.
En una realización preferente, la presencia del último paquete de datos de un canal se diagnostica sobre la base de información en los campos de cabecera de los paquetes de datos de la primera serie. De este modo, la identificación del último paquete puede tener lugar, por ejemplo, al mismo tiempo que la identificación del canal. Sin embargo, si los paquetes de datos han de convertirse, no estando provistos de dicha identificación en los campos de cabecera, la presencia del último paquete de datos puede diagnosticarse de una manera diferente, por ejemplo identificando la información del bloque final 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 de conformidad con el protocolo X.25, la información sobre la base de que la presencia del último paquete de datos de un canal se diagnostique ventajosamente comprende el bit m ("bit más"). Si el bit m es igual a cero, no seguirá ningún otro paquete de datos del mismo canal. Por ello, es posible una identificación muy simple del último paquete de datos.
En el procedimiento según la invención, pueden utilizarse muchos procesos de compresión diferentes. Ventajosamente, se aplica, en el proceso de compresión, una tabla que contiene palabras de código, que está basada en la frecuencia de la presencia de datos. Con referencia a dicha tabla, cada palabra de datos original se sustituye por una palabra de código, siendo a algunas palabras de datos que se producen con frecuencia (o, por ejemplo, que tengan un alto contenido en información) asignado un código relativamente corto. Con procesos de compresión de este tipo, conocidos por sí mismos, la tabla puede compilarse durante el proceso de compresión. Con el procedimiento de conformidad con la invención, sin embargo, se utiliza ventajosamente una tabla fija (de frecuencia). Por medio de una tabla fija (predeterminada) o por lo menos temporalmente fija, es posible impedir que tenga lugar la expansión de datos al principio del proceso de compresión. Además, esto impide que los errores de bits en la transmisión produzcan una pérdida de sincronización en las respectivas tablas del lado de transmisión y del lado de recepción. Transcurrido un tiempo predeterminado o después de una cantidad predeterminada de paquetes de datos, la tabla puede renovarse y/o comprobarse.
Aunque el procedimiento según la invención es muy adecuado para su uso en el caso de numerosos canales, es también posible realizar el procedimiento si todos los paquetes de datos de la primera serie pertenecen al mismo canal. En caso de que la primera serie comprenda paquetes de datos de una pluralidad de canales, es posible que se aplique la compresión solamente a paquetes de datos de algunos de los canales, de modo que los datos de por lo menos algunos canales sean alojados en la segunda serie en forma no comprimida. En el proceso, los datos no comprimidos pueden no tener que cambiarse en absoluto o pueden haberse estado sometidos a una operación completamente diferente tal como encriptación. Asimismo, los datos que, en realidad, fueron comprimidos pueden también someterse a una diferente operación tal
como encriptación.
Aunque el procedimiento 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, una o más corrientes de bits (síncronas o asíncronas). También es posible para la primera serie y, en el caso de tráfico bidireccional, también la tercera serie, estar constituidas por una serie de ventanas temporales.
Asimismo, la invención se refiere a un procedimiento para transformar una segunda serie de paquetes de datos en una tercera serie de paquetes de datos que tengan campos de cabecera y campos de datos, estando los datos de los campos de datos de la segunda serie sujetos a un proceso de descompresión y siendo alojados en campos de datos de la tercera serie. Al hacerlo así, los datos que han de alojarse en un campo de datos de la tercera serie son preferentemente objeto de almacenamiento intermedio por canal. Si la descompresión y la compresión son simétricas, los paquetes de datos de la tercera serie pueden ser, en este caso, idénticos a los paquetes de datos de la primera serie.
Cuando el procedimiento según la invención se aplica a la transmisión de paquetes de datos, donde en la primera serie los paquetes de datos de por lo menos un canal están presentes de manera intermitente, es posible, en una realización ventajosa, transmitir de manera intermitente, para ese canal, por lo menos un paquete de datos de la segunda serie, aun cuando el campo de datos de dicho paquete de datos esté solamente rellenado en parte. Como resultado, pueden impedirse largos retrasos en la transmisión de datos (si, en el proceso, los paquetes de datos de la primera serie se transmiten de conformidad con el protocolo X.25, puede ser conveniente ignorar el bit m de dichos paquetes de datos). A este propósito, los paquetes de datos de la segunda serie pueden transmitirse, por ejemplo, en tiempos predeterminados o si ha transcurrido un tiempo específico desde que los datos (generalmente comprimidos) hayan sido colocados en una memoria intermedia vacía (con la denominación de "mecanismo de intervalo de espera"). De esta manera, los paquetes de datos pueden comprimirse y transmitirse de forma intermitente. Esto es especialmente conveniente para fuentes de datos que generen datos solamente de forma intermitente, tal como los instrumentos de medida. 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 dará lugar siempre a una mejora del rendimiento de la transmisión de datos, aun cuando cada paquete de datos de una primera serie se convierta 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).
Asimismo, la invención proporciona 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 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 como tales en este texto.
Realizaciones ejemplares
La invención se explicará a continuación, con más detalle, haciendo referencia a las figuras, donde
la Figura 1 ilustra, de manera esquemática, la conversión de una primera serie de paquetes de datos en una segunda serie de paquetes de datos;
la Figura 2 ilustra, de manera esquemática, el proceso de comprimir, según la invención, una serie de paquetes de datos;
la Figura 3 ilustra, de manera esquemática, el procedimiento de la invención en relación con el modelo OSI;
la Figura 4 ilustra, de manera esquemática una primera realización de un dispositivo para comprimir y/o descomprimir paquetes de datos según la invención;
la Figura 5 ilustra, de manera esquemática, una segunda realización de un dispositivo para comprimir y/o descomprimir paquetes de datos según la invención;
la Figura 6 ilustra, de manera esquemática, un sistema para transmitir paquetes de datos, en el que se aplica la invención.
La Figura 1 ilustra una primera serie 10 de paquetes de datos (fuente) a modo de ejemplo. Los sucesivos paquetes de datos 11, 12, 13, 14 y 15 de la serie 10 pueden pertenecer a diferentes canales. En el caso ilustrado, los paquetes de datos 11, 12 y 14 pertenecen a un canal A, mientras que los paquetes de datos 13 y 15 pertenecen a un canal B. Evidentemente es posible, en la práctica, que esté presentes series más largas, cuyos paquetes de datos pertenezcan a más de dos canales.
La invención proporciona medios para convertir la primera serie 10 en una segunda serie 20 de paquetes de datos (en 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 ilustradas comprenden un campo de cabecera (o cabecera) h y un campo de datos d. Por medio de la utilización de un proceso de compresión adecuado, los paquetes de datos 11 a 15 (inclusive) son convertidos en los paquetes de datos 21 a 23 (inclusive). Según la invención, esto implica alojar, 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. Dicho de otro modo, la información de los campos de cabeceras h de los paquetes de datos 11 a 15 no está incorporada en los campos de datos de los paquetes de datos 21 a 23. Por otra parte, los campos de cabecera h de los paquetes de datos de una primera serie 10 pueden corresponder, al menos en parte y en algunos casos incluso completamente, a los campos de cabecera h de paquetes de datos de una segunda serie 20. También es posible, sin embargo, para la segunda serie tener una estructura completamente diferente de la primera y, por ejemplo, estar constituida de conformidad con un protocolo diferente.
Una serie de paquetes de datos del mismo canal, cuando pueda formarse, en la primera serie 10 ilustrada, por los paquetes de datos 11, 12 y 14, tendrá en general una longitud limitada. El último paquete de dicho grupo suele estar provisto de un marcador para poder indicar el destino para un mensaje particular. En el caso del protocolo X.25, esto se indica incorporando en el campo de cabecera un bit ("bit más" o "bit m") que es igual a cero (m=0) si no sigue ningún paquete de datos del mismo mensaje o canal; de no ser así, el bit m es igual a uno (m=1). Otra manera de indicar que no sigue ningún otro paquete de datos del mismo grupo es incorporar, en el campo de datos, un código de parada ("fin de mensaje") que pueda reconocerse por el destinatario. Dicho código de parada puede, por ejemplo, estar constituido por símbolos de control que pueden distinguirse de una manera simple con respecto a los datos útiles ordinarios. Si así se desea, el fin de un mensaje puede derivarse del intervalo de tiempo transcurrido desde que se recibió el último paquete de datos de ese canal ("time-out" (intervalo de espera)).
Según la invención, los paquetes de datos de la serie 20 contienen cada uno datos (comprimidos o no comprimidos) de solamente un canal (o subcanal) y los datos para cada canal son bufereados por separado. Asignando cada paquete de datos de la segunda serie 20 a solamente un canal, es posible conseguir una manera sencilla de descomprimir en el lado de recepción (destino), no habiendo sido primero separados en fragmentos de canales separados los campos de datos d de los paquetes de datos de la segunda serie 20. Además, así no se considera 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, estando dicha información de la longitud de los bloques dentro del campo de datos. De este modo se consigue una transmisión de más alto rendimiento, puesto que el campo de datos de un paquete de datos de la segunda serie puede rellenarse exclusivamente con datos. A este propósito, es posible alojar también datos no comprimidos en un paquete de datos de la segunda serie, por ejemplo si uno o más canales (o subcanales) no están comprimidos. Éste puede ser, por ejemplo, el caso si un subcanal particular contiene datos de control.
Mediante el almacenamiento intermedio de datos de cada canal prácticamente por separado, es posible conseguir un grado óptimo de relleno de los campos de datos d de la segunda serie 20. Si dicha operación de almacenamiento intermedio no tuviera lugar, la compresión resultaría supuestamente en una más pequeña cantidad de datos por paquete de datos, pero el número de paquetes de datos por canal seguiría siendo, en principio, el mismo y en consecuencia, en la mayoría de los casos no se obtendría ninguna ventaja (a no ser que los paquetes de datos de la segunda serie tengan una longitud más corta que los de la primera serie, lo que impone, sin embargo, una restricción sobre la segunda serie). Por medio de la combinación de medidas anteriormente mencionada, puede conseguirse un muy alto grado de rendimiento de la transmisión de datos, sin tener que realizar 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, puesto que las estaciones intermedias de la red, a través de las cuales se transmiten los paquetes de datos comprimidos, no necesitan ningún ajuste para los fines de la compresión que se realizan en ellas.
Debe subrayarse que, donde se habla en este texto de un "paquete de datos", esto puede entenderse también como unidad de datos de protocolos ("PDU"), contenedor o unidad de datos en general. Será evidente que los paquetes de datos o unidades de datos pueden comprimir también, aparte de un campo de cabecera y un campo de datos, otros campos tales como un campo del bloque final (o cola). Sin embargo, no es esencial para la invención. La invención puede aplicarse también a corrientes de datos que no se presenten en forma de paquete. En particular, la invención puede aplicarse ventajosamente en las funciones de compresión y descompresión de paquetes de datos en redes que operen de acuerdo con el protocolo X.25, especialmente para aplicación en el nivel 3 del modelo OSI.
En la Figura 2, el procedimiento según la invención se ilustra de manera esquemática. La primera serie 10 de paquetes de datos, ilustrada con más detalle en la Figura 1, se convierte en la segunda serie 20 de paquetes de datos. En los procesos, los paquetes de datos 11-15 de la primera serie 10 se someten primero a un proceso P que puede estar constituido por 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 de Ziv-Lempel. En el caso ilustrado, el proceso P comprende también una identificación de canal. Los datos comprimidos son bufereados, concretamente por separado para cada canal. Los datos comprimidos de los paquetes de datos 11, 12 y 14 son, por lo tanto, continuamente objeto de almacenamiento intermedio hasta que un campo de datos de la segunda serie pueda rellenarse en su integridad. En el caso ilustrado, los datos comprimidos de los paquetes de datos 11 y 12 serían capaces, por ejemplo, de rellenar el paquete de datos 21 en su integridad después de lo cual puede transmitirse este paquete de datos. Cualesquiera datos comprimidos restantes del canal A se almacenan en a memoria intermedia del canal A ("Buffer A"). A continuación, los datos del paquete 13 se comprimen y almacenan en la memoria buffer del canal B ("Buffer B") (suponiendo que estos datos no rellenen en su integridad un paquete de datos de la segunda serie). El siguiente paquete a comprimir, el paquete de datos 14, es el último paquete del grupo constituido por los paquetes 11, 12 y 14. Después de la compresión, los datos comprimidos del canal A son almacenados temporalmente en la memoria buffer del canal A, después de lo cual la memoria buffer se descarga y los datos comprimidos del canal A se almacenan en el paquete 22. Si el paquete 22 no está rellenado en su integridad, puede añadirse información del bloque final de cola. Se especifica preferentemente en la cabecera del paquete de datos 22 que éste es el último paquete de un grupo. El paquete 15 puede, mientras tanto, haberse sometido ya al proceso de compresión. Como era el caso del canal A, los datos comprimidos serán almacenados durante un tiempo corto en la memoria intermedia en cuestión. En este caso, la memoria intermedia del canal B, para poder alojarse luego, junto con los datos ya presentes en esa memoria, en el paquete de datos 23. Se especifica preferentemente en la cabecera del paquete de datos 23 que éste es el último paquete de datos de un grupo (o canal, respectivamente). Si así se requiere, el campo de datos del paquete de datos 23, como era el caso para el paquete de datos 22, se provee de información del bloque final (datos de cola).
Se entenderá que las acciones de bufereado de las memorias intermedias aquí mencionadas pueden implantarse de numerosas maneras y que, para más de dos canales, puede haberse provisto una pluralidad de buffers, como se ilustra en la figura por medio de líneas de trazos (Buffer C opcional para el canal C). Si el último paquete de datos de un canal particular ha sido transmitido, el buffer de dicho canal puede, si así se requiere, asignarse a otro canal. De este modo, si el canal B, por ejemplo, está terminado, el Buffer B puede asignarse a un nuevo canal, por ejemplo, el canal C o D.
Como se indicó anteriormente, el tiempo que tardan los datos en una memoria buffer puede, en muchos casos, ser muy corto. La función de las memorias buffers es principalmente la de recoger datos de un canal particular, de tal manera que los paquetes de la segunda serie puedan utilizarse lo más eficientemente posible.
La función de descompresión según la invención consiste en recibir paquetes de datos (transmisión) sometiendo los campos de datos de estos paquetes de datos de transmisión a un proceso de descompresión y formando paquetes de datos (destino) que contengan, en sus campos de datos, los datos descomprimidos. Puesto que ninguna información de reconstrucción necesita extraerse de los campos de datos, la descompresión y la formación de paquetes de datos de destino pueden tener lugar de manera directa. Ventajosamente, puede tener lugar la descompresión de una manera completamente análoga a la del proceso de compresión descrito en la Figura 2.
En la Figura 3 el procedimiento de la invención se ilustra, de manera esquemática en relación con el modelo OSI (véase referencia 3, capítulo 12). Cuando se establece una comunicación de acuerdo con el modelo OSI entre dos niveles (n, n-1) de una red de comunicaciones, entre esos niveles tiene lugar una transferencia de las así denominadas primitivas, también referidas como Unidades de Datos de Interface (IDU). Las primitivas del nivel n se tratan en el nivel n-1, es decir en un nivel inferior. La primitiva del nivel n será transformada por el nivel n-1 en una o más Unidades de Datos de Protocolos (PDU), que constituyen la comunicación "virtual" entre el nivel n-1 del lado emisor y el nivel n-1 del lado receptor. Por ejemplo, para el nivel 3 de X.25 estos son los paquetes del así denominado Protocolo de Nivel de Paquetes.
En la mayor parte de los casos, los paquetes de datos A_{1}, A_{2}, ... , A_{x} se transferirán a través de la red intermedia al nivel n-1 del lado receptor. Si, sin embargo, en el nivel n-1 tiene lugar un procesamiento de los datos, tal como compresión o descompresión de datos, la estructura de las unidades de datos (p.e., paquetes de datos o PDU) necesarias para transferir las primitivas no deben resultar afectadas por este procesamiento. Debe destacarse el hecho de que la longitud de los datos en una primitiva puede ser bastante mayor que la longitud máxima de una unidad de datos, siendo esta última determinada por la red interesada.
En la Figura 3, se ilustra una primitiva A que pasa desde el nivel n al nivel n-1 en el lado emisor, según se indica por la letra S. La primitiva A representa una serie de paquetes de datos o datos con origen en los niveles más altos en el lado emisor. En el nivel n-1, la primitiva A da lugar a una primera serie de paquetes de datos A_{1}, A_{2}, ..., A_{x}, correspondiendo esta serie a la serie 10 en 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. Como se ilustra en la Figura 3, este proceso tiene lugar en el nivel n-1. Como resultado del proceso P, se obtiene una segunda serie de paquetes de datos B_{1},
B_{2}, ..., B_{y}, correspondiendo esta segunda serie a la serie 20 en 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á más pequeño que el de la primera serie: y<x. La segunda serie 20 se transfiere a través de una red (no ilustrada para mayor claridad). Tal como se ilustra, la transferencia de la serie 20 a través de una red tiene lugar en el nivel n-1. Pero puede implicar a otros niveles (más bajos), tal como el nivel n-2.
En el lado receptor, indicado por R, los pasos anteriores son esencialmente invertidos. En primer lugar, la serie de paquetes de datos B_{1}, B_{2}, ..., B_{y} está sometida al proceso P', siendo este proceso P', en la mayoría de los casos, el proceso inverso del proceso P en lado emisor, por ejemplo, descompresión de datos donde el proceso P implicaba la compresión de datos. En consecuencia, se obtiene una tercera serie 30, que es equivalente, en la mayoría de los casos, a la serie B y que comprende paquetes de datos A_{1}, A_{2}, ..., A_{x}. Estos paquetes de datos del nivel n-1 son posteriormente transmitidos como una primitiva, de nuevo indicada por A, al siguiente nivel más alto (n) del lado receptor R. La primitiva A puede transmitirse a niveles todavía más altos cuando sea necesario.
Como se indica en el ejemplo de la Figura 3, se procesan (P) paquetes de datos de un primer formato (A_{1}, A_{2}, ..., A_{x}) transferidos como paquetes de datos de un segundo formato (B_{1}, B_{2}, ..., B_{y}) y se vuelven a procesar (P') en el nivel n-1. En este ejemplo, los paquetes de datos originales y resultantes son idénticos, como lo son las primitivas correspondientes. Por lo tanto, el procedimiento según la invención proporciona una conversión de longitud de primitivas de un determinado nivel (n) a un nivel inferior (n-1). Como se explicó con referencia a la Figura 2, en este procedimiento las relaciones funcionales de las primitivas se conservan asignando los paquetes de datos de la segunda serie (B_{1}, B_{2}, ..., B_{y}) a un solo canal o subcanal. Dicha relación funcional puede comprender, por ejemplo, la identidad de (sub)canal y/o identidad de usuario de las primitivas. Como se mencionó anteriormente, un subcanal es una parte constituyente de un canal, por ejemplo, todos los paquetes de datos de X.25 de un determinado canal que tiene un bit Q que es igual a 1 constituye un subcanal de dicho canal.
En el nivel n-1, la estructura de las primitivas se indica por un marcado "fin de mensaje". En el caso de X.25, dicho marcador está constituido por un bit m que es igual a cero. En las redes con base RDSI (Red Digital de Servicios Integrados), por ejemplo, este principio puede aplicarse también. En el caso de una red RDSI, el nivel de encaminamiento puede estar constituido por un protocolo de encaminamiento arbitrario, por ejemplo, el nivel 3 de X.25. En el caso de ATM, el marcador "fin de mensaje" está constituido por el así denominado "Campo de Tipo de Segmento" o "Campo ST" (véase referencia 5). Esto indica la relación existente entre las unidades de datos (denominadas SAR PDU) y las primitivas (denominadas SAR SDU). Ignorando el marcador "fin de mensaje" para poder obtener un factor de compresión más alto, es soportado en ATM en el Campo ST por el denominado Mensaje de Segmento Único (SSM).
En una realización preferible, el nivel n-1 mencionado en el ejemplo de la Figura 3 es el nivel 3 del modelo OSI (n igual a 4). Sin embargo, el nivel n-1 puede referirse también a otros niveles del modelo OSI, tal como el nivel 2 ó 4. El procedimiento de la invención puede aplicarse a todas las técnicas de comunicaciones basadas en el modelo OSI. En una realización preferible, el procesamiento tiene lugar en o por encima del nivel de encaminamiento para poder mantener la independencia respecto al encaminamiento.
El procedimiento de la invención, cuando se aplica en el nivel 3 del modelo OSI, tiene la ventaja adicional de que puede tener lugar la compresión de datos en el mismo nivel que la compilación de tarificación. Cuando se realiza la compresión en el nivel 2, la carga útil del usuario no es disminuida por la compresión de datos. Otra ventaja de aplicar la presente invención en el nivel 3 es la posibilidad de un alto factor de compresión, puesto que en el nivel 2 tiene lugar una combinación de fuente de información, que produce una baja redundancia de los datos. Debido a dicha combinación, un algoritmo de compresión adaptativo no será capaz de obtener una compresión óptima puesto que los datos a comprimir tienen características variadas. Sin embargo, con la presente invención, puede realmente obtenerse una alta relación de compresión, puesto que la compresión tiene lugar a un nivel más alto del modelo OSI y los datos de las diversas fuentes pueden procesarse por separado.
El dispositivo 100, ilustrado de manera esquemática en la Figura 4, comprende una unidad de identificación 110, una unidad de control 120, una unidad de procesamiento 130 que está enlazada, a través de un bus de datos 140, una memoria 150 y una unidad de buffer 160. La unidad de identificación 110 comprende un buffer de entrada y, acoplado a este último, medios de identificación para identificar (el canal de) paquetes de datos entrantes. La identificación se transmite a la unidad de control 120 que puede direccionar la unidad de proceso 130 y la memoria 150 de una manera relacionada con el canal. Por lo tanto, la memoria 150 puede haber almacenado diferentes procesos de compresión que pueden utilizarse para diferentes canales. Análogamente, los procesos de descompresión pueden almacenarse en la memoria 150, de modo que el dispositivo 100 puede utilizarse también para la descompresión; si se requiere, el dispositivo 100 es capaz de comprimir para algunos canales y descomprimir para otros canales. Al hacerlo así, un proceso de descompresión, o los datos de reconstrucción requeridos para ese proceso, pueden transmitirse cuando se configura un canal, antes de que se descompriman los paquetes de datos. También es posible la construcción de la memoria 150, en su integridad o en parte, como memoria de sólo lectura (ROM), de modo que algunos datos (datos de reconstrucción para el beneficio de los procesos de descompresión así como uno o más procesos de descompresión por sí mismos) estén permanentemente presentes en el dispositivo 100. Aun cuando el dispositivo 100 se utilice como un dispositivo de compresión, puede ser ventajoso alojar determinados datos en una memoria de lectura solamente.
El proceso necesario para un canal particular es cargado, bajo el control de la unidad de control 120, a través del bus de datos 140, desde la memoria 150 a la unidad de proceso 130. La unidad de proceso 130 comprende preferiblemente un microprocesador para realizar la tarea de procesamiento. Ventajosamente, la unidad de procesamiento 130 está provista de una memoria de procesador para almacenar datos relativos al proceso en curso. Sin embargo, la tarea de la memoria del procesador puede realizarse también por la memoria 150 para incrementar así la velocidad de procesamiento del dispositivo 100, donde puede conectarse al bus de datos 140 una pluralidad de unidades de proceso en paralelo 130. Como alternativa, una pluralidad de (micro)procesadores, cada uno con una memoria de procesador si así se requiere, pueden alojarse en una unidad de proceso 130.
La unidad de memoria intermedia 160 comprende una memoria intermedia de salida 161 que, según la invención, está constituida por una pluralidad de secciones de buffer A, B, C, etc., para el beneficio de los correspondientes canales. Como ya se indicó anteriormente, la asignación de memorias intermedias a canales específicos no necesita ser fija y puede modificarse si así se requiere, dependiendo de las circunstancias. Por consiguiente, la sección de memoria intermedia A en la Figura 4, después de que haya terminado el canal A, puede asignarse, por ejemplo, a un (nuevo) canal H.
Cada sección de buffer A, B, etc. del buffer de salida 161 comprende preferiblemente un registro (de desplazamiento) pero puede estar también constituido por memoria de acceso aleatorio (RAM). Una sección de buffer suplementaria BP ("puntero de bit") se proporciona para almacenar información que especifica qué cantidad de datos, en particular cuántos bits y/o bytes, se almacenan en cada una de las demás partes de la memoria buffer, o, respectivamente, permanecieron después de que se rellenara el último paquete de datos a transmitirse. Si así se necesita, la sección de memoria buffer BP puede estar constituida por partes reservadas separadas de las secciones de memoria intermedia A, B, etc.
La unidad de memoria intermedia 160 comprende también una unidad de selección 162, formada por, por ejemplo, un multiplexor, para seleccionar una sección de memoria intermedia en la que deben almacenarse los datos que entran en la unidad de buffer 160. Esta selección tiene lugar, en el ejemplo ilustrado, sobre la base de las señales de control que han sido generadas por la unidad de control 120 sobre la base de la información sobre identificación. La unidad de buffer 160 puede comprender también medios (no ilustrados) para generar paquetes de datos adecuados que tengan, por ejemplo, una longitud de 128 bits, en los que se transmiten datos desde las secciones de memoria intermedia.
Con la ayuda del dispositivo 100, según la invención, es posible una compresión rápida y eficaz de una serie de paquetes de datos. El grado de eficacia puede, dentro de este contexto, depender además de la presencia de códigos de parada u otros marcadores (tales como el bit m) que indican el final de un grupo de paquetes de datos (mensaje, canal). En una realización preferible, el dispositivo 100 está diseñado de tal manera que el descuento de códigos de parada y elementos similares es ajustable. Esto posibilita adaptar el modo de funcionamiento del dispositivo al equipo conectado al dispositivo.
En un primer modo, el dispositivo no tiene en cuenta en absoluto el final de un grupo de paquete de datos, de modo que los datos son objeto de almacenamiento intermedio para cada canal aun cuando no esté completo un mensaje. Esto trae consigo el más alto grado de rellenado de paquetes de datos de la segunda serie, puesto que ahora no se necesita transmitir, al final de cada grupo, un paquete de datos que (en la mayoría de los casos, está parcialmente vacío o está provisto de datos de bloques finales de cola). Para poder garantizar que los últimos datos almacenados en la memoria intermedia en cuestión son enviados, puede proporcionarse un mecanismo de temporización que implique, por ejemplo, que la unidad 120 descargue la memoria intermedia a un canal particular y hacer que un paquete de datos se emita desde ese canal si, durante un tiempo determinado, no se ha recibido ningún paquete de datos de ese canal en el dispositivo 100. Dicha descarga de una memoria intermedia (buffer) puede tener lugar también en tiempos fijados o si el destino envía una solicitud a este efecto al dispositivo 100. Dicha solicitud puede adoptar la forma de un código especial en los datos de un paquete de datos transmitido al dispositivo 100.
En un segundo modo de realización, no se tiene en cuenta el final de un grupo de paquetes de datos, pero un paquete de la segunda serie se transmite tan pronto como se hayan procesado los datos de un paquete de la primera serie. Aunque esto asegura que los datos se transmitan con la mayor rapidez posible, el ejemplo útil de la compresión de datos será muy pequeño, puesto que, en general, solamente se formarán paquetes de datos parcialmente rellenados.
En un tercer modo, se tiene en cuenta, en realidad, los códigos de parada u otras indicaciones de que se ha alcanzado el final de un mensaje o canal. Si el último paquete de datos de un mensaje o canal es identificado, se descarga la memoria intermedia correspondiente. De este modo, se consigue en todo momento una transmisión de datos rápida, mientras que se restringe considerablemente la formación de paquetes de datos sólo rellenados en parte.
Debe resaltarse el hecho de que, en algunos sistemas, para transmitir paquetes de datos puede ser posible distinguir entre el final de un mensaje y el final de un canal, por ejemplo mediante la transmisión, al final de un canal, de un código especial o de un paquete de datos especial. En ese caso, es conveniente descargar las memorias intermedias al final de un mensaje, pero no hacerlo así al final de un canal.
Descargar las memorias intermedias, a este respecto, implica transmitir la información restante en las memorias intermedias. Sin embargo, cuando se produce el final de un canal, los buffers pueden ser "descargados", es decir, objeto de reposición, sin necesidad de transmitir la información restante. En ambos casos, las memorias intermedias quedarán vacías a la larga. El marcador "fin de canal" puede estar presente cuando se interrumpe un canal lógico (por ejemplo, desconexión X.25) y cuando se produce en la red una indicación de anomalía (por ejemplo, un "paquete de reposición" en X.25), indicando que es incierto que los datos transmitidos alcanzaron su destino.
El dispositivo 200 ilustrado, de manera esquemática, en la Figura 5, comprende, como dispositivo 100 de la Figura 4, una unidad de identificación 210, una unidad de control 220, una unidad de procesamiento 230 que está enlazada, a través de un bus de datos 240, a una memoria 250 y una unidad de memoria intermedia 260. La unidad de identificación 210 comprende una memoria intermedia de entrada y, acoplada a ella, medios de identificación para identificar (el canal y/o subcanal de) paquetes de datos entrantes.
En el dispositivo 200, la unidad de memoria intermedia 260 comprende un buffer de salida 261 que, según la invención, está constituido por una pluralidad de secciones de memoria intermedia A, B, C, etc. para la ventaja de los correspondientes canales. A diferencia de a memoria intermedia de salida 161, la memoria intermedia de salida 261 de la Figura 5 comprende secciones de memoria intermedia que se realizan en duplicado, es decir, cada sección de memoria intermedia comprende dos nuevas secciones o compartimentos, siendo cada compartimento asignado a un subcanal particular. De este modo, para el canal A se proporcionan los compartimentos A y A'. Análogamente, los compartimentos B y B' se proporcionan para el canal B, etc. En el ejemplo dado, los datos de dos subcanales pueden ser objeto de almacenamiento intermedio para cada canal. Se entenderá que las secciones de memoria intermedia pueden estar constituidas por una pluralidad de compartimentos, por ejemplo tres, cuatro o cinco, para poder soportar una pluralidad de subcanales para cada canal. La sección de almacenamiento intermedio suplementario BP ("puntero de bit") no necesita realizarse en múltiplos, a condición de que tenga un tamaño suficiente para registrar los estados de todas las secciones de memoria intermedia. La sección de memoria intermedia BP puede estar también constituida por partes reservadas de las secciones de buffer A, A', B, B', etc.
En lugar de proporcionar, dentro de un buffer 261, secciones de buffer que tengan compartimentos múltiples, el buffer 261 como un conjunto puede realizarse en, por ejemplo, duplicado o triplicado, comprendiendo así la unidad de buffer 260 otras unidades de buffer 261, 261', etc. cuando sea necesario. Como alternativa, la unidad de buffer completa 260 puede proporcionarse en forma múltiple.
Como ya se indicó anteriormente, la asignación de buffers o secciones de buffer a canales específicos o subcanales no necesita ser fija y puede, si así se necesita, modificarse dependiendo de las circunstancias. De este modo, la sección de buffer A en la Figura 5, después de que hayan terminado los subcanales A y A' pueden asignarse, por ejemplo, a un (nuevo)
canal H.
La unidad de buffer 260 comprende una unidad de selección 262 que, además de las funciones de la unidad de selección 161 de la unidad de buffer 160, realiza una selección basada en subcanales, es decir, la unidad de selección 262 asigna datos a secciones de buffers basadas en sus identificaciones de canal y subcanal. Aparte de la unidad de buffer 260, el dispositivo 200 puede ser, desde el punto de vista funcional y constructivo, equivalente al dispositivo 100 de la Figura 4. Sin embargo, la unidad de proceso 230 y la unidad de proceso 250 están preferiblemente dispuestas para procesar datos dependiendo de su respectiva identificación de subcanal. La unidad de identificación 210 está análogamente dispuesta para identificar subcanales.
El dispositivo 100 de la Figura 4 y el dispositivo 200 de la Figura 5 pueden constituirse a partir de componentes comercialmente disponibles (véase referencia 6). Ventajosamente, este dispositivo puede realizarse también, sin embargo, como un circuito integrado específico de la aplicación (ASIC). Para poder proporcionar, en un solo dispositivo, las funciones de compresión y descompresión para tráfico bidireccional, pueden alojarse dos dispositivos 100 juntos en una sola carcasa o, como alternativa, ser completamente integrados.
El sistema de la Figura 6 comprende los dispositivos de compresión y descompresión 2 que están enlazados entre sí en una red 1. En esta disposición, los dispositivos 2 pueden cada uno, por ejemplo, dos dispositivos 100 ó 200 de la Figura 4 o la Figura 5, respectivamente. La red 1 puede ser una red de comunicaciones conocida por sí misma, tal como una red que opera de acuerdo con el protocolo X.25. Un dispositivo 2 puede tener una pluralidad de unidades 3 conectadas al mismo, que puede comprender cada una multiplexores. Si así se requiere, estas unidades 3 pueden no emitir paquetes de datos, sino corrientes de datos, que solamente son conformadas en paquetes de datos en los dispositivos 2. Los dispositivos 3 pueden haberse conectado a una pluralidad de usuarios finales 4. Entre los usuarios finales 4, puede configurarse una pluralidad de canales (lógicos). Mediante la aplicación de la invención, los datos de estos canales pueden, en todo momento, transmitirse de manera eficiente en forma comprimida a través de la red.
Se entenderá por los expertos en esta técnica que la invención no está limitada a las realizaciones ilustradas y que son posibles numerosas modificaciones y adiciones sin desviarse del objeto de la presente
invención.

Claims (26)

1. Procedimiento para convertir una primera serie (10) de paquetes de datos, de los cuales cada uno tiene un campo de cabecera (h) y un campo de datos (d) en una segunda serie (20) de paquetes de datos, de los que cada uno tiene un campo de cabecera (h) y un campo de datos (d), comprendiendo las dos series paquetes de datos de una pluralidad de canales (A, B) y datos procedentes de campos de datos de la primera serie (10), estando sometidos a un proceso de compresión (P) y a continuación, siendo alojados 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 porque los datos destinados a alojarse en un campo de datos de la segunda serie son bufereados por canal (A; B).
2. Procedimiento según la reivindicación 1, en el cual se realiza una comprobación de manera que se determine si, o no, el último paquete de datos de un canal (por ejemplo, A) está presente en la primera serie (10) y en el supuesto de que esté presente dicho último paquete de datos, todos los datos en memoria intermedia (bufereados) de este canal (por ejemplo, A) son alojados en uno o varios paquetes de datos de la segunda serie (20).
3. Procedimiento según la reivindicación 2, en el que si, en la segunda serie (20) el campo de datos del último paquete de datos de un canal no está rellenado en su totalidad, este campo de datos se completa por datos del bloque final de cola.
4. Procedimiento según la reivindicación 3, en el que los datos del bloque final de cola comprenden una cadena de bits idénticos, preferentemente de al menos once bits.
5. Procedimiento según la reivindicación 3 ó 4, en el que si datos del bloque final de cola están presentes en un paquete de datos de la segunda serie (20), se realiza una comprobación de manera que se determine si, o no, un último paquete de datos está presente en la primera serie (10).
6. Procedimiento según una cualquiera de las reivindicaciones 1 a 5, en el que un campo de datos de la segunda serie (20) comprende, de forma exclusiva, datos comprimidos y/o datos del bloque final de cola.
7. Procedimiento según una cualquiera de las reivindicaciones 2 a 6, en el que la presencia del último paquete de datos de un canal (por ejemplo, A) se diagnostica sobre la base de una información en los campos de cabecera (h) de los paquetes de datos de la primera serie (10).
8. Procedimiento según una cualquiera de las reivindicaciones 1 a 7, en el que los paquetes de datos (por ejemplo, 11, 12, 13, …) están diseñados para una transmisión de datos de conformidad con el protocolo X.25.
9. Procedimiento según una cualquiera de las reivindicaciones 7 y 8, en el que la información sobre cuya base se diagnostica la presencia del último paquete de datos de un canal (por ejemplo, A) comprende el bit m ("bit más").
10. Procedimiento según una cualquiera de las reivindicaciones 1 a 9, en el que se aplica, al nivel del proceso de compresión (P), una tabla que contiene palabras de código, la cual está basada en la frecuencia de la presencia de datos, siendo dicha tabla preferentemente fija, por lo menos durante un
determinado período.
11. Procedimiento según una cualquiera de las reivindicaciones 1 a 10, en el que todos los paquetes de datos (11, 12, …) de la primera serie (10) pertenecen al mismo canal (por ejemplo, A).
12. Procedimiento según una cualquiera de las reivindicaciones 1 a 11, en el cual se aplica una compresión solamente en los paquetes de datos de algunos de los canales (por ejemplo, B).
13. Procedimiento según una cualquiera de las reivindicaciones 1 a 12, en el cual, en lugar de la primera serie (10) de paquetes de datos, se convierte un tren de bits.
14. Procedimiento 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 una cualquiera de las reivindicaciones 1 a 13, en una tercera serie (30) de paquetes de datos que tienen campos de cabecera (h) y campos de datos (d), estando los datos procedentes de los campos de datos (d) de la segunda serie (20) sometidos a un proceso de descompresión y estando alojados en campos de datos (d) de la tercera serie (30), caracterizado porque los datos que deben alojarse en un campo de datos (d) de la tercera serie (30) son bufereados por canal (por ejemplo, A.).
15. Procedimiento 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. Procedimiento para transmitir paquetes de datos, que comprende la transformación de una primera serie de paquetes de datos (10), según una cualquiera de las reivindicaciones 1 a 13 inclusive, la transmisión de la segunda serie así formada (20) de paquetes de datos y la transformación de la segunda serie de paquetes de datos en una tercera serie (30) de paquetes de datos según la reivindicación 14 ó 15.
17. Procedimiento según la reivindicación 16, en el que, antes de que sea transmitida la segunda serie (20) de paquetes de datos, se transmita una información de reconstrucción.
18. Procedimiento según la reivindicación 16 ó 17, en el cual, en la primera serie (10) de los paquetes de datos de por lo menos un canal (por ejemplo, A) están presentes de manera intermitente y en el que, para este canal (A), por lo menos un paquete de datos de la segunda serie (2) se transmite por intermitencia aun cuando la zona de datos de este paquete de datos sea solamente parcialmente rellenada.
19. Procedimiento según la reivindicación 18, en el que los paquetes de datos (por ejemplo, 21, 22) de la segunda serie (20) son transmitidos de conformidad con el protocolo X.25.
20. Procedimiento según la reivindicación 18 ó 19, en el cual un paquete de datos de la segunda serie (20) se transmite si, después del alojamiento de datos en una memoria intermedia vacía del canal (por ejemplo, A) a cual pertenece el paquete de datos, transcurre un tiempo predeterminado.
21. Dispositivo (100; 200) para comprimir paquetes de datos, que comprende un medio de entrada (110; 210) para recibir una primera serie de paquetes de datos (10) que tiene cada uno un campo de cabecera (h) y un campo de datos (d), un medio de identificación (110; 210) para determinar el canal (A, B, …) de los paquetes de datos recibidos, un medio de tratamiento (130; 230) para comprimir la zona de datos de cada paquete de datos a comprimir y un medio de salida (160; 260) para formar una segunda serie (20) de paquetes de datos, teniendo cada uno un campo de cabecera 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 un medio de bufereado (161; 261) está previsto para el almacenamiento intermedio, por canal (A, B, …) de los datos destinados 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 cual el medio de almacenamiento intermedio (161; 261) para el bufereado de los datos de cada canal comprende por lo menos dos memorias intermedias paralelas, preferentemente con una memoria intermedia separada presente para cada canal (A, B, C, …).
23. Dispositivo (100; 200) según la reivindicación 21 ó 22, en el que, para cada canal (A, B, …) está reservado un espacio de memoria en una memoria (150; 250; BP) que es común a los canales.
24. Dispositivo (100; 200) según una cualquiera de las reivindicaciones 21 a 23 inclusive, en el que un medio (160; 260) está previsto para generar datos del bloque final de cola.
25. Dispositivo (100; 200) según una cualquiera de las reivindicaciones 21 a 24 inclusive, en el cual el medio de tratamiento (130; 230) está dispuesto para descomprimir paquetes de datos.
26. Sistema para transmitir paquetes de datos bajo forma comprimida, que tiene por lo menos un dispositivo según una cualquiera de las reivindicaciones
21 a 25.
ES95906282T 1994-01-21 1994-12-29 Procedimiento y dispositivo de transformacion de una sucesion de paquetes de datos por medio de compresion de datos. Expired - Lifetime ES2199980T3 (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
ES2199980T3 true ES2199980T3 (es) 2004-03-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 After (1)

Application Number Title Priority Date Filing Date
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.

Country Status (13)

Country Link
US (1) US5774467A (es)
EP (2) EP0740877B1 (es)
JP (1) JP2841247B2 (es)
CN (1) CN1097933C (es)
AT (2) ATE325469T1 (es)
AU (1) AU693844B2 (es)
CA (1) CA2180345C (es)
CZ (1) CZ285088B6 (es)
DE (2) DE69434727C5 (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
US6501441B1 (en) 1998-06-18 2002-12-31 Sony Corporation Method of and apparatus for partitioning, scaling and displaying video and/or graphics across several display devices
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
WO2002029991A1 (en) * 2000-10-05 2002-04-11 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
CN1316750C (zh) * 2001-03-29 2007-05-16 皇家菲利浦电子有限公司 传送信号的压缩数据的数据流
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 宏碁股份有限公司 加速文件传输速度的方法及计算机系统
US12464041B2 (en) * 2019-02-13 2025-11-04 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
HU219934B (hu) 2001-09-28
JP2841247B2 (ja) 1998-12-24
HU9601980D0 (en) 1996-09-30
EP1280279B1 (en) 2006-05-03
HUT75822A (en) 1997-05-28
NO318121B1 (no) 2005-02-07
EP0740877A1 (en) 1996-11-06
CZ285088B6 (cs) 1999-05-12
CA2180345A1 (en) 1995-07-27
DE69432798T2 (de) 2004-05-06
NO963023L (no) 1996-07-19
DE69434727D1 (de) 2006-06-08
ES2262743T3 (es) 2006-12-01
ATE325469T1 (de) 2006-06-15
DE69434727C5 (de) 2021-06-02
WO1995020285A1 (en) 1995-07-27
EP1280279A3 (en) 2003-09-24
JPH09501810A (ja) 1997-02-18
NO963023D0 (no) 1996-07-19
CZ208596A3 (cs) 1998-12-16
CN1097933C (zh) 2003-01-01
EP0740877B1 (en) 2003-06-04
CN1142300A (zh) 1997-02-05
CA2180345C (en) 1999-09-21
DE69434727T2 (de) 2006-11-23
US5774467A (en) 1998-06-30
AU1454395A (en) 1995-08-08
EP1280279A2 (en) 2003-01-29
AU693844B2 (en) 1998-07-09
DE69432798D1 (de) 2003-07-10
ATE242570T1 (de) 2003-06-15

Similar Documents

Publication Publication Date Title
ES2199980T3 (es) Procedimiento y dispositivo de transformacion de una sucesion de paquetes de datos por medio de compresion de datos.
US8352628B2 (en) Method for transferring data from a source target to a destination target, and corresponding network interface
KR100316295B1 (ko) 고속-패킷네트워크용패킷관리장치
EP1095535B1 (en) Source node for a broadband network with atm cells
CN101079820B (zh) 在移动通信系统中传输帧的方法及发送多个帧的方法
TW432832B (en) Communication system
GB2314998A (en) Utilisation of unused bits in a packet network
CN1134094A (zh) 多信道宽带适配处理
US12063106B2 (en) Overhead monitoring method and apparatus, and computer-readable storage medium
CN111385058A (zh) 一种数据传输的方法和装置
KR20000075131A (ko) 이동통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 송수신 장치 및 방법
JP3342649B2 (ja) 帯域幅削減atmネットワーク及びその方法
ES2216066T3 (es) Metodo de transmision de datos.
CN110460410B (zh) 基于网管信道的数据传输方法、装置、设备和存储介质
KR20250047752A (ko) 집적 회로 디바이스들 사이에서 메모리 매핑된 트래픽을 전송하기 위한 시스템 및 방법
JP2003518874A (ja) データ通信
JP4379218B2 (ja) 通信方法、通信方式、および通信装置
KR20000074179A (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신장치 및 방법
CN1917519B (zh) 高级数据链路控制协议串行数据的并行传输方法及其系统
JPH11251988A (ja) 衛星データ送信装置および受信装置
KR20000059636A (ko) 데이터링크 계층에서 서비스 데이터 단위의 프로토콜 데이터 단위로의 구성방식
US20100214981A1 (en) Transmission device, transmission system, transmission method, and transmission program
CN115065439A (zh) 一种spn网络恒定比特率业务传送方法和设备
RU2000122302A (ru) Система связи
NL9400100A (nl) Werkwijze en inrichting voor het door middel van datacompressie omvormen van een reeks van datapakketten.