ES2726017T3 - Codificación y modulación adaptativa para la transmisión de datos de banda ancha - Google Patents

Codificación y modulación adaptativa para la transmisión de datos de banda ancha Download PDF

Info

Publication number
ES2726017T3
ES2726017T3 ES06827586T ES06827586T ES2726017T3 ES 2726017 T3 ES2726017 T3 ES 2726017T3 ES 06827586 T ES06827586 T ES 06827586T ES 06827586 T ES06827586 T ES 06827586T ES 2726017 T3 ES2726017 T3 ES 2726017T3
Authority
ES
Spain
Prior art keywords
modulation
signal quality
data packet
packet
coding scheme
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.)
Active
Application number
ES06827586T
Other languages
English (en)
Inventor
William Thesling
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.)
Viasat Inc
Original Assignee
Viasat Inc
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
Application filed by Viasat Inc filed Critical Viasat Inc
Application granted granted Critical
Publication of ES2726017T3 publication Critical patent/ES2726017T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • H04L1/0003Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1853Satellite systems for providing telephony service to a mobile station, i.e. mobile satellite service
    • H04B7/18539Arrangements for managing radio, resources, i.e. for establishing or releasing a connection
    • H04B7/18543Arrangements for managing radio, resources, i.e. for establishing or releasing a connection for adaptation of transmission parameters, e.g. power control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18582Arrangements for data linking, i.e. for data framing, for error recovery, for multiple access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0016Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy involving special memory structures, e.g. look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0019Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy in which mode-switching is based on a statistical approach
    • H04L1/0021Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy in which mode-switching is based on a statistical approach in which the algorithm uses adaptive thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0008Modulated-carrier systems arrangements for allowing a transmitter or receiver to use more than one type of modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/02Channels characterised by the type of signal
    • H04L5/023Multiplexing of multicarrier modulation signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1221Wireless traffic scheduling based on age of data to be sent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0026Transmission of channel quality indication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria
    • H04W72/542Allocation or scheduling criteria for wireless resources based on quality criteria using measured or perceived quality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/06Airborne or Satellite Networks

Abstract

Un método para aplicar una codificación y modulación adaptativa de una señal de radiodifusión, comprendiendo el método: asociar un primer esquema (205) de modulación y codificación con un primer intervalo (210) de calidad de señal; asociar un segundo esquema de modulación y codificación de un orden superior al del primer esquema de modulación y codificación con un segundo intervalo de calidad de señal de una calidad mejor que la del primer intervalo de calidad de señal; recibir un primer paquete de datos destinado a un primer enlace dentro del primer intervalo (210) de calidad de señal y un segundo paquete de datos destinado a un segundo enlace dentro del segundo intervalo de calidad de señal; encapsular el primer paquete de datos y al menos una parte del segundo paquete de datos en una primera trama (320); y transmitir la primera trama (320) en la señal de radiodifusión según el primer esquema (205) de modulación y codificación, que se caracteriza por que la etapa de encapsulación comprende además: aplicar una política de encapsulación de paquetes de datos asociados a distintos esquemas de modulación y codificación en una trama que se va a transmitir según un esquema de modulación y codificación de orden más bajo de los distintos esquemas de modulación y codificación, aplicándose la política únicamente cuando no hay ningún otro paquete de datos restante asociado al esquema de modulación y codificación de orden más bajo, en donde la política comprende: determinar una longitud de un relleno potencial para el al menos un paquete de datos asociado a un primer esquema de modulación y codificación; determinar que no queda ningún paquete de datos asociado al primer esquema de modulación y codificación para llenar el relleno potencial; y llenar el relleno potencial con el paquete de datos asociado al segundo esquema de modulación y codificación.

Description

DESCRIPCIÓN
Codificación y modulación adaptativa para la transmisión de datos de banda ancha
La presente invención se refiere a las comunicaciones inalámbricas en general y, en particular, a la codificación y modulación adaptativa.
Los sistemas inalámbricos bidireccionales (como los de satélite) pueden beneficiarse del uso de una adaptive coding and modulation (codificación y modulación adaptativa - "ACM"). Mediante el uso de ACM, el formato de modulación y los códigos de Forward Error Correction (Corrección de errores sin canal de retorno - "FEC") para una señal pueden adaptarse para ajustarse mejor a las condiciones de enlace para cada usuario en un sistema de múltiples usuarios. Puede utilizarse un canal de retorno u otros medios para notificar las condiciones de un terminal de recepción. A menudo, estas condiciones de enlace se caracterizan por la relación de signal to noise ratio (señal a ruido - "SNR") del usuario (o del terminal) individual. En un sistema de radiodifusión, por ejemplo, la forma de onda radiodifundida a un número de usuarios incluye paquetes de datos designados únicamente para un terminal individual (o un grupo pequeño de terminales). Un mensaje transmitido a un usuario requiere menos símbolos (y, por lo tanto, menos tiempo) cuando se utiliza una modulación de orden superior y una velocidad de código superior. Una modulación de orden inferior y una velocidad de código inferior son más fiables pero requieren más tiempo para transmitir un mensaje del mismo tamaño. Mediante el uso de ACM, cada paquete puede transmitirse a un nivel optimizado de modulación y codificación (“ ModCod” ) dadas las condiciones de enlace del terminal de destino.
El documento WO03/019805 A1 describe un método para aplicar una codificación adaptativa en la modulación en una señal de radiodifusión, pero con una flexibilidad operativa limitada en cuanto a la estructura de datos.
Los documentos WO01/10046 A2 y US-2002/118666 A1 describen, respectivamente, un método para firmar intervalos de tiempo de enlace descendente y un método para mapear una subtrama de enlace descendente de FDD/TDM/TDMA combinados si bien, de nuevo, la materia objeto de estos documentos está limitada en cuanto a su manipulación del contenido de trama.
Los canales inalámbricos pueden adolecer de unas condiciones de canal variables en el tiempo. Las señales que se desplazan en unas condiciones ambientales cambiantes pueden dispersarse, reflejarse y difractarse, causando unas condiciones de canal variables a lo largo del tiempo. Estos cambios pueden, por ejemplo, deberse al movimiento de los objetos o a unas condiciones meteorológicas cambiantes. Existe la necesidad de obtener nuevas formas de conformar y controlar el tráfico de datos de ACM de forma dinámica, de modo que el tráfico pueda transmitirse más eficientemente a terminales seleccionados.
Breve descripción de la invención
Se describe un proceso para construir tramas de capa física con una ModCod adaptada a la calidad de señal de un terminal de destino. Los paquetes de datos asignados a la misma ModCod se envían de forma general en la misma trama, aunque los paquetes asociados con ModCods superiores pueden utilizarse para completar una trama antes de conmutar a la ModCod superior aplicable para la construcción de tramas posteriores. Después de determinados intervalos de tiempo, se reinicia un orden de progresión con un paquete fuera de orden por encima de una antigüedad umbral. Pueden utilizarse mecanismos de filtrado de control de flujo y un margen de fiabilidad variable para adaptarse dinámicamente a las condiciones de tráfico de datos actuales.
En un conjunto de realizaciones, se usan colas de reenvío de paquetes para controlar el flujo de paquetes según ModCod. Cada cola se asigna a una ModCod distinta y, de ese modo, se asocia a un intervalo de calidad de señal. Los paquetes se colocan en una cola asociada a un intervalo de calidad de señal que abarca el enlace al que está destinado el paquete. En otro conjunto de realizaciones, los paquetes se asocian a elementos de una lista enlazada. En tales realizaciones, el flujo de paquetes se controla al iterar a través de la lista enlazada para identificar los paquetes dentro de intervalos de calidad de señal seleccionados. También se describen diversas configuraciones de dispositivo y de sistema para ejecutar los procesos anteriormente expuestos.
Breve descripción de las figuras
Puede lograrse una mayor comprensión de la naturaleza y ventajas de la presente invención haciendo referencia a las siguientes figuras. En las figuras adjuntas, componentes o características similares pueden tener la misma etiqueta de referencia. Además, pueden distinguirse diversos componentes del mismo tipo al ir la etiqueta de referencia seguida de un guión y una segunda etiqueta que distingue entre componentes similares. Si solo se utiliza la primera etiqueta de referencia en la memoria descriptiva, la descripción es aplicable a uno cualquiera de los componentes similares que tengan la misma primera etiqueta de referencia, independientemente de la segunda etiqueta de referencia.
La figura 1 ilustra un sistema de comunicaciones vía satélite en el que puede aplicarse una adaptive coding and modulation (codificación y modulación adaptativa - "ACM") según diversas realizaciones de la presente invención.
La figura 2A ilustra un ejemplo de una tabla de ModCods que puede utilizarse para aplicar ACM según diversas realizaciones de la presente invención.
La figura 2B ilustra un ejemplo de una tabla de direcciones/SNR que puede utilizarse para aplicar ACM según diversas realizaciones de la presente invención.
La figura 3 es un diagrama de bloques simplificado que ilustra un formato de entramado de DVB-S2 que puede utilizarse para aplicar ACM según diversas realizaciones de la presente invención.
La figura 4 es un diagrama de bloques simplificado que ilustra un dispositivo de comunicaciones configurado según diversas realizaciones de la presente invención.
La figura 5 es un diagrama de flujo que ilustra un formato de encapsulación y de transmisión de paquetes según diversas realizaciones de la presente invención.
La figura 6 es un diagrama de flujo que ilustra un proceso de control de flujo para la transmisión de paquetes según diversas realizaciones de la presente invención.
La figura 7 es un diagrama de flujo que ilustra un proceso de control de flujo y de encapsulación de paquetes según diversas realizaciones de la presente invención.
La figura 8 es un diagrama de bloques simplificado que ilustra un dispositivo que incluye una unidad de puesta en cola configurada según diversas realizaciones de la presente invención.
La figura 9 es un diagrama de bloques simplificado que ilustra un dispositivo de comunicaciones alternativo que incluye una unidad de puesta en cola configurada según diversas realizaciones de la presente invención.
La figura 10 es un diagrama de flujo que ilustra un proceso de puesta en cola según diversas realizaciones de la presente invención.
La figura 11 es un diagrama de flujo que ilustra un proceso de puesta en cola de control de flujo para la transmisión de paquetes según diversas realizaciones de la presente invención.
La figura 12 es un diagrama de flujo que ilustra un proceso de puesta en cola de control de flujo alternativo para la transmisión de paquetes según diversas realizaciones de la presente invención.
La figura 13 es un diagrama de bloques simplificado que ilustra un dispositivo de comunicaciones configurado para utilizar una lista enlazada según diversas realizaciones de la presente invención.
La figura 14 es un diagrama de bloques simplificado que ilustra un dispositivo de comunicaciones alternativo configurado para utilizar una lista enlazada según diversas realizaciones de la presente invención.
Las figuras 15A y 15B son diagramas de bloques que ilustran el uso de una lista enlazada según diversas realizaciones de la presente invención.
La figura 16 es un diagrama de flujo que ilustra un proceso de control de flujo utilizando una lista enlazada según diversas realizaciones de la presente invención.
La figura 17 es un diagrama de flujo que ilustra una iteración a través de una lista enlazada en la que los elementos se enlazan según diversas realizaciones de la presente invención.
La figura 18 es un diagrama de flujo que ilustra un proceso alternativo para una iteración a través de una lista enlazada en la que los elementos se enlazan según diversas realizaciones de la presente invención.
La figura 19 es un diagrama de bloques simplificado que ilustra un dispositivo de comunicaciones configurado para variar un margen de fiabilidad según diversas realizaciones de la presente invención.
La figura 20 es una representación lineal de un número de intervalos de calidad de señal variable para su uso según diversas realizaciones de la presente invención.
La figura 21 es un diagrama de flujo que ilustra un margen de fiabilidad variable configurado según diversas realizaciones de la presente invención.
La figura 22 es un diagrama de flujo que ilustra un proceso alternativo para modificar un margen de fiabilidad configurado según diversas realizaciones de la presente invención.
Descripción detallada de la invención
Esta descripción proporciona únicamente realizaciones ilustrativas y no pretende limitar el alcance, la aplicabilidad o la configuración de la invención. Más bien, la descripción consiguiente de las realizaciones proporcionará a los expertos en la técnica una descripción que permita aplicar realizaciones de la invención. Pueden hacerse diversos cambios en la función y disposición de los elementos sin abandonar el ámbito de la invención, según se define en las reivindicaciones adjuntas. Pueden combinarse de forma similar distintos aspectos y elementos de las realizaciones.
Por lo tanto, diversas realizaciones pueden omitir, sustituir o agregar diversos procedimientos o componentes según proceda. Además, las características descritas con respecto a determinadas realizaciones pueden combinarse en diversas otras realizaciones. Debe apreciarse también que los siguientes sistemas, métodos y software pueden ser un componente de un sistema más grande, en donde otros procedimientos pueden tener prioridad sobre su aplicación, o de otro modo modificarla. Además es posible que sean necesarias varias etapas antes de, después de, o simultáneamente con, las realizaciones que siguen. A lo largo de la descripción, cualquier referencia a las realizaciones que no se encuentren dentro del alcance de las reivindicaciones deben considerarse ejemplos relacionados útiles para comprender la invención.
Se describen sistemas, métodos, dispositivos y software novedosos para conformar y controlar el tráfico de datos en un sistema de ACM. La figura 1 es un diagrama de bloques que ilustra un sistema 100 de comunicaciones vía satélite ilustrativo configurado según diversas realizaciones de la invención. Si bien se utiliza un sistema de comunicaciones vía satélite para ilustrar diversos aspectos de la invención, cabe mencionar que determinados principios expuestos en la presente memoria también son aplicables a una diversidad de otros sistemas inalámbricos. El sistema 100 de comunicaciones vía satélite incluye una red 120, tal como Internet, interconectada con una puerta 115 de enlace que está configurada para comunicarse con uno o más terminales 130 de abonado a través de un satélite 105.
La red 120 puede ser cualquier tipo de red y puede incluir, por ejemplo, Internet, una red IP, una intranet, una red de área local o extensa, una red virtual privada, la Public Switched Telephone Network (Red Telefónica Pública Conmutada - "PSTN") o cualquier otro tipo de red que soporte una comunicación de datos entre los dispositivos descritos en la presente memoria, en diferentes realizaciones. Una red 120 puede incluir tanto conexiones cableadas como inalámbricas, incluidos enlaces ópticos. La red 120 también puede transmitir información sobre las condiciones de enlace para uno o más terminales de abonado a la puerta 115 de enlace. La red puede conectar la puerta 115 de enlace con otras puertas de enlace (no ilustradas), que también están en comunicación con el satélite 105, y que pueden compartir información sobre las condiciones del enlace y otras métricas de red.
La puerta 115 de enlace proporciona una interfaz entre la red 120 y el terminal 130 de abonado. La puerta 115 de enlace puede configurarse para recibir datos e información dirigidos a uno o más terminales 130 de abonado, y puede dar formato a los datos y la información (p. ej., utilizando ACM) para su suministro al terminal 130 de destino respectivo a través del satélite 105. De forma similar, la puerta 115 de enlace puede configurarse para recibir señales en sentido ascendente desde el satélite 105 (p. ej., desde uno o más terminales de abonado) dirigidas a un destino en la red 120 y puede dar formato a las señales recibidas para la transmisión a lo largo de la red 120.
Un dispositivo (no mostrado) conectado a la red 120 puede comunicarse con uno o más terminales de abonado y a través de la puerta 115 de enlace. Pueden enviarse datos e información, por ejemplo, datagramas IP, desde un dispositivo en la red 120 a la puerta 115 de enlace. La puerta 115 de enlace puede dar formato a una trama de Medium Access Control (Control de Acceso a Medios - MAC) según una definición de capa física para su transmisión al satélite 105. Puede utilizarse una diversidad de técnicas de modulación y codificación de la transmisión de capa física con determinadas realizaciones de la invención, incluidas las definidas con las normas DVB-S2 y WiMAX. En una serie de realizaciones, la puerta 115 de enlace utiliza ACM junto con una o más de las técnicas de control y conformación de tráfico descritas en la presente memoria para dirigir el tráfico a los terminales individuales. La puerta 115 de enlace puede utilizar una señal de difusión, con un formato de modulación y codificación (“ ModCod” ) adaptado para cada paquete a las condiciones de enlace del terminal 130 o el conjunto de terminales 130 a los que se dirige el paquete (p. ej., para dar cuenta de las condiciones variables del enlace de servicio 150 desde el satélite 105 a cada terminal 130 respectivo).
La puerta 115 de enlace puede utilizar una antena 110 para transmitir las señales al satélite 105. En una realización, la antena 110 comprende un reflector parabólico con alta direccionalidad en la dirección del satélite y baja direccionalidad en otras direcciones. La antena 110 puede aplicarse en una diversidad de configuraciones alternativas. Las señales en sentido descendente pueden incluir, por ejemplo, un número de señales portadoras individuales. Cada señal portadora de señal puede dividirse (p. ej., utilizando TDMA) en un número de canales virtuales. Los canales virtuales pueden ser del mismo tamaño o de tamaños distintos. En otras realizaciones, pueden utilizarse otros esquemas de canalización tales como Frequency Division Multiple Access (Acceso Múltiple por División en Frecuencia - FDMA), Orthogonal Frequency Division Multiple Access (Acceso Múltiple por División en Frecuencia Ortogonal - OFDMA), Code Division Multiple Access (Acceso Múltiple por División De Código - CDMA) o cualquier número de esquemas híbridos u otros conocidos en la técnica.
En una realización, un satélite geoestacionario 105 está configurado para recibir las señales desde la ubicación de la antena 110 y dentro de la banda de frecuencia y la polarización específica transmitida. El satélite 105 puede procesar las señales recibidas desde la puerta 115 de enlace y reenviar la señal desde la puerta 115 de enlace que contiene la trama MAC a uno o más terminales 130 de abonado. En una realización, el satélite 105 funciona en modo multihaz, transmitiendo un número de haces estrechos, dirigido cada uno de ellos a una región distinta de la Tierra, lo que permite la reutilización de frecuencias. Este satélite 105 está configurado como satélite “transparente” , en donde el satélite puede convertir en frecuencia las señales portadoras recibidas antes de retransmitir estas señales a su destino, si bien realizando, por lo demás, poco o ningún otro procesamiento sobre el contenido de las señales. El satélite 105 puede utilizar una diversidad de técnicas de modulación y codificación de la transmisión de capa física, según determinadas realizaciones de la invención, incluyendo las definidas con las normas DVB-S2 y WiMAX. Para otras realizaciones, son posibles un número de configuraciones (p. ej., utilizando satélites LEO o una red de malla en lugar de una red en estrella), como es evidente para los expertos en la técnica.
Las señales de servicio 150 transmitidas desde el satélite 105 pueden ser recibidas por uno o más terminales 130 de abonado, a través de la antena 125 de abonado respectiva. Los terminales 130 de abonado pueden recibir las señales desde el satélite 105 bajo unas condiciones de enlace muy diversas. En una realización, la antena 125 y el terminal 130 comprenden juntos un very small aperture terminal (terminal de apertura muy pequeña - VSAT). En otras realizaciones, puede utilizarse una diversidad de otros tipos de antenas 125 en el terminal 130 de abonado para recibir una señal. Cada uno de los terminales 130 de abonado puede comprender un único terminal de usuario o, de forma alternativa, un concentrador o enrutador (no ilustrado) que se acopla a múltiples terminales de usuario. Cada terminal 130 de abonado puede conectarse a consumer premises equipment (equipos locales 160 de clientes - CPE) que comprenden, por ejemplo, ordenadores, redes de área local, dispositivos de Internet, redes inalámbricas, etc.
En una realización, se utiliza un esquema de Multi-Frequency Time-Division Multiple Access (Acceso múltiple por división en el tiempo con frecuencia múltiple - MF-TDMA) para los enlaces ascendentes 140, 145, permitiendo el flujo eficiente del tráfico al tiempo que se mantiene la flexibilidad en la capacidad de asignación entre cada uno de los terminales 130 de abonado. En esta realización se asigna un número de canales de frecuencia que pueden ser fijos o que pueden asignarse de forma más dinámica. También se utiliza un esquema de Time Division Multiple Access (Acceso múltiple por división en el tiempo - TDMA) en cada canal de frecuencia. En este esquema, cada canal de frecuencia puede dividirse en varios intervalos de tiempo que pueden asignarse a una conexión (es decir, un terminal 130 de abonado). En otras realizaciones, uno o más de los enlaces ascendentes 140, 145 pueden configurarse con otros esquemas, tales como FDMA, OFDMA, CDMA, o cualquier número de esquemas híbridos u otros esquemas conocidos en la técnica.
Un terminal 130 de abonado puede transmitir información relacionada con la calidad de señal a la puerta 115 de enlace a través del satélite 105. La calidad de señal puede ser una relación de señal a ruido medida, una relación de señal a ruido estimada, una tasa de error de bits, un nivel de potencia recibida o cualquier otro indicador de calidad de enlace de comunicación. El propio terminal de abonado puede medir o estimar la calidad de señal, o puede pasar información medida o estimada por otros dispositivos. Un terminal de abonado puede transmitir también datos e información a un destino de red 120 a través del satélite 105 y la puerta 115 de enlace. El terminal 130 de abonado transmite las señales a través del enlace 145 ascendente en sentido ascendente al satélite 105 mediante el uso de la antena 125. Un terminal 130 de abonado puede transmitir las señales según una diversidad de técnicas de modulación y codificación de la transmisión de capa física, incluidas las definidas con las normas DVB-S2 y WiMAX. En diversas realizaciones, las técnicas de capa física pueden ser las mismas para cada uno de los enlaces 135, 140, 145, 150, o pueden ser diferentes.
Haciendo referencia a la figura 2A, un ejemplo de una tabla 200 de ModCods se ilustra en forma de diagrama de bloques. Esta forma de la tabla 200 de ModCods puede ser utilizada, por ejemplo, por una puerta 115 de enlace para determinar la ModCod que va a utilizarse para los paquetes destinados a un terminal de abonado que funciona en un intervalo de calidad de señal determinado. La tabla contiene una columna que enumera varios formatos 205 de ModCod. Cada formato 205 de ModCod corresponde a un intervalo 210 de calidad de señal especificado. Por lo tanto, utilizando la calidad de señal atribuida a un enlace de destino para un paquete, puede identificarse un intervalo 210 de calidad de señal que abarca el enlace y puede seleccionarse la ModCod apropiada. Por ejemplo, si un enlace de destino tiene una calidad de señal dentro del Intervalo 7, puede usarse la ModCod QPSK 3/4. En algunas realizaciones, uno o más de los intervalos pueden incluir un margen de fiabilidad (lo que puede ser ventajoso cuando las condiciones del canal están cambiando rápidamente, por ejemplo). Uno o más de los intervalos pueden modificarse dinámicamente para ajustar también este margen de fiabilidad.
En otras realizaciones pueden utilizarse otros indicadores de calidad de señal, tales como una relación de señal a ruido medida, una relación de señal a ruido estimada, una tasa de error de bits, un nivel de potencia recibida o cualquier otro indicador de calidad de enlace de comunicación. Cabe señalar además que también pueden utilizarse varias otras estructuras de datos para relacionar los intervalos de calidad de señal con las ModCod. En una realización, cada calidad de señal está asociada a una cola de reenvío de paquetes distinta. En otras realizaciones adicionales, pueden añadirse otros parámetros de densidad de información además de los cambios de ModCod para adaptar de forma adicional una señal a las condiciones ambientales o a otras condiciones.
Pasando a la figura 2B, se ilustra un ejemplo de una tabla 250 de direcciones/SNR en forma de diagrama de bloques. Esta forma de tabla 250 de direcciones/SNR puede ser utilizada, por ejemplo, por una puerta 115 de enlace para consultar la calidad 260 de señal de un terminal 130 de abonado al que está destinado un paquete, basándose en la dirección 255 de destino. En las tablas en las figuras 2B y 2C pueden incorporarse en una o más memorias, que pueden estar o bien en, o bien fuera, de un chip, y pueden utilizarse una junto a otra para correlacionar una dirección MAC con un formato de ModCod particular.
Aunque en este ejemplo se usa una dirección MAC de destino, pueden utilizarse otros mecanismos para identificar terminales de abonado particulares, incluyendo una ID de VLAN de destino, una dirección del Destination Internet Protocol (Protocolo de Internet de destino - "DIP"), una ID de direccionamiento privada o cualquier otro conjunto de datos que comprenda, o esté correlacionado de cualquier otra forma con, una dirección de destino. La dirección de datos puede analizarse a partir de un paquete de datos recibido después de su llegada a un dispositivo, o puede recibirse de cualquier otra forma conocida en la técnica. También cabe señalar que también pueden utilizarse varias otras estructuras de datos para relacionar una dirección con la calidad de señal.
Una vez identificada una ModCod para un paquete o paquetes determinados, por ejemplo utilizando la tabla 200 de ModCods, este puede encapsularse, codificarse, mapearse y transmitirse de una diversidad de formas, como es conocido en la técnica. Una forma de aplicar la ACM es mediante la norma DVB-S2, que prevé específicamente su uso. Como se ha indicado anteriormente, la ACM puede cambiar el formato de modulación y los códigos de Forward Error Correction (Corrección de errores sin canal de retorno - FEC) (“ ModCods” ) para adaptarse mejor a las condiciones del enlace actual. Esta adaptación puede producirse trama a trama. La explicación que sigue asume una red de paquetes basada en IP en el contexto de un sistema de transmisión vía satélite DVB-S2, si bien los conceptos pueden aplicarse para una diversidad de sistemas, incluidos los sistemas que aplican DOCSIS o WiMAX.
Pasando a la figura 3, se expone el formato 300 de entramado para una trama de un sistema DVB-S2 para ilustrar diversos aspectos de la invención. En una realización, cada trama se radiodifunde a todos los terminales 130, pero solo está dirigida a un terminal 130 de abonado seleccionado (o a grupos pequeños de terminales 130). Por ejemplo, la forma de onda puede ser una forma de onda de una única portadora transmitida en sentido descendente desde una puerta 115 de enlace a un terminal 130 de abonado en el sistema 100 de la figura 1. Como se ha mencionado anteriormente, aunque el sistema DVB-S2 se utiliza como un ejemplo, los principios especificados en la presente memoria son aplicables a una gama de sistemas.
En esta realización, una trama 320 de banda base está formada por un encabezamiento 305 de banda base, un campo 310 de datos y un relleno 315. Los datos en el campo de datos pueden incluir uno o más paquetes IP encapsulados en una trama MAC, o también pueden incluir otros tipos de datos. El campo de datos puede incluir una información de direccionamiento (por ejemplo, dirección IP, dirección MAC, etc.) que indique el terminal o terminales a los que se dirigirá el paquete. En algunas realizaciones, los paquetes IP asociados con distintas ModCods pueden transmitirse en la misma trama 320 de banda base, según la ModCod de orden inferior. La especificación DVB-S2 prevé que determinadas tramas sean de tamaño fijo independientemente de la ModCod utilizada (es decir, una trama FEC normal es de 64.800 bits, y una trama FEC acortada es de 16.200 bits). Por lo tanto, en lugar de simplemente rellenar una trama cuando hay espacio adicional disponible y ningún otro paquete restante asociado a una ModCod actual, puede insertarse un paquete de datos (o un fragmento del mismo) asociado a una ModCod de orden superior en la trama de banda base. En una realización, el espacio disponible se rellena con cuantos paquetes de datos adicionales quepan sin desbordamiento.
Seguidamente puede realizarse un entrelazado y una codificación FEC (p. ej., BCH y LDCP) en la trama 320 de banda base para producir una trama 325 de banda base codificada, y se adjuntan unos bits 330 de paridad de codificación exteriores y unos bits 335 de paridad de codificación interiores para producir una trama FEC 340. Aunque, como se ha mencionado anteriormente, la especificación DVB-S2 prevé que la trama FEC 340 será de un tamaño fijo, en otras realizaciones, el tamaño de la trama FEC 340 puede variar según la ModCod seleccionada para la trama, para producir así unas tramas de una duración uniforme en el tiempo.
La trama FEC 340 se correlaciona bit a bit con la constelación aplicable (por ejemplo, QPSK, 8PSK, 16APSK, 32APSK), para producir una trama XFEC 345 formada por símbolos representativos del contenido de la trama. Se agrega un encabezamiento 350 de PL a la trama XFEC 345, formando juntos la trama PL 365. El encabezamiento de PL 350 está formado por un intervalo 355 de start of frame (comienzo de la trama - SOF) de 26 símbolos, y un intervalo 360 de ModCod (MODCOD) de 64 símbolos que especifica la ModCod y el tamaño (es decir, si es una trama FEC normal o acortada). El encabezamiento de PL 350 está codificado. A la trama PL 365 se le aplica entonces una conformación de banda base y una modulación en cuadratura, así como una amplificación y una conversión elevadora para transmitirse en sentido descendente.
Haciendo referencia a la figura 4 , un diagrama de bloques simplificado ilustra un ejemplo de un dispositivo 400 configurado según diversas realizaciones de la invención. En una realización, el dispositivo 400 es la puerta 115 de enlace de la figura 1, que transmite paquetes en sentido descendente con ModCods adaptadas al enlace al que se dirigen los paquetes. En otras realizaciones, el dispositivo 400 puede utilizarse en cualquier número de aplicaciones de ACM distintas.
En esta realización, el dispositivo 400 incluye una unidad 405 de clasificación y una unidad 410 de transmisión. En algunas realizaciones, la unidad 410 de transmisión está formada por una unidad 415 de encapsulación, una unidad 420 de modulación y codificación y un transmisor 425. Estos componentes (405, 410, 415, 420 y 425) pueden aplicarse, total o parcialmente, en hardware. Por lo tanto, pueden comprender uno o más Application Specific Integrated Circuits (Circuitos integrados específicos de aplicación - ASIC) adaptados para realizar un subconjunto de las funciones aplicables en hardware. De forma alternativa, las funciones pueden realizarse mediante otras una o más unidades de procesamiento (o núcleos), en uno o más circuitos integrados. En otras realizaciones pueden utilizarse otros tipos de circuitos integrados (p. ej., ASIC estructurados/de plataforma, Field Programmable Gate Arrays (Conjuntos de puertas programables en campo - FPGA) y otros CI semipersonalizados), que pueden programarse de cualquier forma conocida en la técnica. Cada una también puede aplicarse, total o parcialmente, con instrucciones incorporadas a un medio legible por ordenador, a las que se da formato para ser ejecutadas por uno o más procesadores generales o de aplicación específica. Por lo tanto, el dispositivo 400 puede incluir distintos tipos y configuraciones de memoria (no mostrados) que pueden integrarse en el hardware o pueden ser uno o más componentes separados.
Para la explicación, asumamos que el dispositivo 400 es una puerta 115 de enlace dentro del sistema 100 de la figura 1. En una realización, el sistema 100 se aplica en una configuración en estrella en donde cada terminal 130 se comunica con el dispositivo 400, recibiendo una señal de radiodifusión de banda ancha y buscando la forma de onda para los datos destinados a dicho terminal 130. Cada terminal 130 estima la SNR de la señal recibida, aunque en otras realizaciones pueden utilizarse diferentes métricas de calidad de señal. Esta información se incluye en el trayecto de retorno, que puede establecerse mediante un enlace satelital o algún otro medio. En otras realizaciones, el dispositivo 400 también puede recibir los datos de calidad de señal de enlace de otras fuentes. El dispositivo 400 tiene entonces una estimación de SNR para cada terminal (por ejemplo, la tabla 250 de direcciones/SNR de la figura 2B) y puede organizar estos datos en una o más memorias, que pueden aplicarse en hardware, en un medio legible por ordenador separado, o de forma externa al dispositivo 400.
Pasando ahora al flujo de paquetes, antes de ser recibido por el dispositivo 400, un paquete de datos puede desplazarse a través de un enrutador de tipo Clase de Servicio/Calidad de Servicio (no se muestra), que puede adjuntar varios campos de paquete de datos de información. Estos campos pueden incluir la dirección MAC del terminal de destino, un campo de contador y un campo de indicación de tiempo. También pueden integrarse en el dispositivo cualquiera de estas funcionalidades.
La unidad 405 de clasificación está configurada para asignar dinámicamente una ModCod distinta a cada paquete de datos después de que cada paquete sea recibido por el dispositivo. Esta asignación se basa, al menos en parte, en una calidad de señal de un enlace al que está destinado el paquete respectivo. La unidad 405 de clasificación está configurada para usar la dirección MAC, junto con la estimación de SNR, para identificar una ModCod para su uso para comunicarse con un terminal 130. Para ello, la unidad 405 de clasificación puede producir, o acceder de cualquier otra forma a, una tabla 200 de ModCods, u otro mecanismo que correlaciona determinados intervalos de estimación de SNR con diferentes ModCods.
Una unidad 410 de transmisión, conectada directa o indirectamente con la unidad 405 de clasificación, está configurada para transmitir los paquetes clasificados según un orden de progresión definido, y para producir una salida 430 de señal de radiodifusión. En una realización, el orden de progresión definido comprende transmitir cada paquete de datos recibido asociado a una primera ModCod (quizá en secuencia del más antiguo al más nuevo), antes de incrementar a una siguiente ModCod de orden superior y transmitir cada paquete de datos recibido asociado a una siguiente ModCod de orden superior (quizá en secuencia del más antiguo al más nuevo), e incrementar en consecuencia a la ModCod de orden más alto. El proceso se repite a continuación comenzando por la ModCod de orden más bajo. Obsérvese, sin embargo, que la expresión “orden de progresión definido” puede incluir cualquier algoritmo de selección de reenvío de paquetes o de control de flujo conocido en la técnica. Por ejemplo, un orden de progresión definido puede abarcar cualquiera de una serie de esquemas de puesta en cola que pueden ordenar y dar formato a los paquetes para su reenvío basándose en la ModCod, la dirección de destino, el orden recibido, la antigüedad, etc.
En una realización, el orden de progresión definido se interrumpe al expirar un temporizador (en lo sucesivo en la presente memoria, “ temporizador de interrupción” ), y se identifica un paquete fuera de orden que supera una antigüedad umbral. El intervalo de temporizador de interrupción en una realización es de 10 ms, pero es posible una diversidad de otros intervalos. Para cada intervalo de tiempo de 10 ms, pueden construirse varias tramas, y será objeto de seguimiento el tiempo real requerido para transmitir estas tramas. Esto puede lograrse totalizando el número de símbolos necesarios para transmitir las tramas de capa física. Una vez creadas suficientes tramas de forma que se requieran más de 10 ms para transmitirlas, el temporizador expira. Son posibles varios otros cálculos del temporizador, como es evidente para los expertos en la técnica.
En una realización, el paquete identificado es el paquete recibido más antiguo aún no transmitido (es decir, la antigüedad umbral es la antigüedad del segundo paquete más antiguo). A continuación se transmite el paquete identificado, y el orden de progresión definido puede reiniciarse desde el paquete más antiguo. En otra realización, todos los paquetes por encima de una segunda antigüedad umbral se envían antes de que se reinicie el orden de progresión.
El dispositivo 400 puede controlar otras modificaciones de flujo cuando el paquete más antiguo identificado está por encima de determinadas antigüedades umbral. Por ejemplo, si el paquete identificado supera una primera antigüedad umbral (p. ej., 50 ms), la unidad 405 de clasificación puede configurarse adicionalmente para permitir que entren los paquetes de datos asociados a una calidad o clase de servicio umbral, mientras que otros se bloquean. Si el paquete identificado supera una segunda antigüedad umbral (p. ej., 80 ms), la unidad 405 de clasificación puede configurarse además para bloquear todos los paquetes entrantes hasta que expire otro periodo del temporizador. En otra realización, la unidad 410 de transmisión está configurada además para variar el periodo del temporizador basándose al menos en parte en los cambios en la antigüedad del paquete más antiguo identificado (p. ej., reduciendo el periodo del temporizador si aumenta la antigüedad del paquete más antiguo). Aunque estos cambios pueden asociarse con la antigüedad del paquete identificado más antiguo (p. ej., medida por la diferencia entre la identificación de tiempo y la transmisión), pueden utilizarse otras mediciones de latencia y de flujo de tráfico para modificar estos parámetros.
En otra realización, la unidad 405 de clasificación está configurada para variar un intervalo de calidad de señal asociado a una o más ModCods para modificar un datos de margen de fiabilidad para los paquetes destinados a un enlace dentro del intervalo de calidad de señal modificado. Por ejemplo, la unidad de clasificación puede configurarse para aumentar el margen de fiabilidad cuando el tráfico es ligero y disminuir el margen de fiabilidad cuando el tráfico es pesado. Este ajuste puede realizarse, por ejemplo, basándose en la antigüedad del paquete más antiguo identificado al expirar el temporizador (p. ej., si T0 > 60 ms, establecer el margen en 1 dB; si 60 ms > T0 > 40 ms, establecer el margen en 2 dB; si 40 ms > T0, establecer el margen en 3 dB).
En algunas realizaciones, el orden de progresión definido puede incluir tener la unidad 405 de clasificación configurada para agrupar los paquetes de datos asociados con diferentes ModCods para su encapsulación en una trama que se va a transmitir según una ModCod de orden más bajo de las diferentes ModCods, produciéndose la agrupación cuando no haya otro paquete de datos restante que esté asociado a la ModCod de orden más bajo. Por ejemplo, cuando hay espacio adicional disponible en una trama 320 de banda base y ningún otro paquete restante está asociado a una ModCod actual, puede insertarse un paquete de datos (o un fragmento del mismo) asociado a una siguiente ModCod de orden superior en la trama 320 de banda base.
Para rellenar el espacio adicional, un paquete de orden superior puede fragmentarse, por ejemplo, en un primer fragmento y un segundo fragmento. En una realización de ese tipo, el primer fragmento puede dimensionarse para llenar el espacio disponible y transmitirse en la primera trama según la ModCod de orden inferior. El segundo fragmento puede transmitirse entonces en una trama siguiente según la ModCod superior.
En tales realizaciones, la unidad 410 de transmisión puede incluir una unidad 415 de encapsulación. La unidad 415 de encapsulación puede configurarse para encapsular en una trama (p. ej., una única trama 320 de banda base) uno o más paquetes asociados a una ModCod de orden inferior y uno o más paquetes adicionales asociados a una ModCod de orden superior. La unidad 410 de transmisión también incluye una unidad 420 de modulación y codificación configurada para codificar y mapear la trama según la ModCod de orden inferior (p. ej., para producir la trama XFEC 345). Un transmisor 425 puede aplicar una conformación de banda base y una modulación en cuadratura a la trama, así como una amplificación y una conversión elevadora a la señal, para producir una salida de señal de radiodifusión.
La figura 5 es un diagrama de flujo que ilustra un proceso 500 de aplicación de una codificación y modulación adaptativa en una señal de radiodifusión. El proceso puede ser realizado, por ejemplo, total o parcialmente por el dispositivo 400 de la figura 4. En el bloque 505, se asocia una primera ModCod a un primer intervalo de calidad de señal. En el bloque 510, una segunda ModCod de orden superior se asocia a un segundo intervalo de calidad de señal de mejor calidad.
En el bloque 515 se reciben un primer paquete de datos destinado a un primer enlace dentro del primer intervalo de calidad de señal y un segundo paquete de datos destinado a un segundo enlace dentro del segundo intervalo de calidad de señal. En el bloque 520, el primer paquete de datos y al menos una parte del segundo paquete de datos se encapsulan en una única trama. En el bloque 525, la primera trama se transmite en la señal de radiodifusión según la primera ModCod.
La figura 6 es un diagrama de flujo que ilustra un proceso 600 para controlar el flujo del tráfico de datos en una señal de radiodifusión aplicando una codificación y modulación adaptativa. El proceso puede ser realizado, por ejemplo, total o parcialmente por el dispositivo 400 de la figura 4. En el bloque 605, una ModCod se asigna dinámicamente a cada uno de un número de paquetes de datos basándose en una calidad de señal de un enlace al que está destinado cada paquete respectivo. En el bloque 610, cada paquete de datos se asocia a una indicación de tiempo. En el bloque 615, algunos de los paquetes de datos recibidos se transmiten según un orden de progresión definido. En el bloque 620, el orden de progresión definido se interrumpe al expirar un temporizador, y un paquete fuera de orden se transmite con una indicación de tiempo que supera una antigüedad umbral.
La figura 7 es un diagrama de flujo que ilustra un proceso 700 para controlar el flujo del tráfico de datos en una señal de radiodifusión aplicando una codificación y modulación adaptativa. El proceso puede ser realizado, por ejemplo, total o parcialmente por el dispositivo 400 de la figura 4. En el bloque 705, diversas ModCods se asocian a distintos intervalos de calidad de señal, incluyendo los intervalos de calidad de señal un margen de fiabilidad. En el bloque 710, se asigna una ModCod a cada uno de un número de paquetes de datos basándose en una calidad de señal de un enlace al que está destinado cada paquete respectivo. En el bloque 715, se asocia una indicación de tiempo a cada uno de los paquetes de datos.
En el bloque 720, algunos de los paquetes de datos se transmiten según un orden de progresión definido, previendo el orden que unos paquetes de datos asignados a diferentes ModCods se transmitan en una única trama según la ModCod de orden inferior. En el bloque 725, al expirar un temporizador, el orden de progresión definido se interrumpe para transmitir un paquete más antiguo. En el bloque 730, el orden de progresión definido se reinicia desde el paquete más antiguo.
En el bloque 735, se determina una medida de latencia asociada con la transmisión (por ejemplo, basándose en la antigüedad del paquete más antiguo transmitido, o utilizando otras características de latencia o flujo). En el bloque 740, se varía al menos uno de los intervalos de calidad de señal asociados a las ModCods para modificar el margen de fiabilidad, basada la variación al menos en parte en la medida de latencia. En el bloque 745, el periodo del temporizador se varía basándose al menos en parte en la medida de latencia. En el bloque 750, solo se permiten paquetes con determinadas características de clase o calidad de servicio, mientras que otros se bloquean, basándose al menos en parte en las características del paquete más antiguo. A continuación, el proceso puede reiniciarse desde el bloque 710.
Haciendo referencia a continuación a la figura 8, un diagrama de bloques simplificado ilustra un ejemplo de un dispositivo 800 de puesta en cola configurado para poner en cola y transmitir paquetes según su ModCod. En una realización, el dispositivo 800 de puesta en cola puede ser el dispositivo 400 descrito en relación con la figura 4, que aplica una modulación y codificación adaptativa utilizando el proceso de puesta en cola descrito más adelante.
El dispositivo 800 en esta realización incluye una unidad 805 de puesta en cola, un número de colas 810 de reenvío de paquetes y una unidad 815 de transmisión. Estos componentes (805, 810 y 815) pueden estar en comunicación entre sí, y pueden aplicarse, total o parcialmente, en hardware. Por lo tanto, pueden comprender uno o más Application Specific Integrated Circuits (Circuitos integrados específicos de aplicación - ASIC) adaptados para realizar un subconjunto de las funciones aplicables en hardware. De forma alternativa, las funciones pueden realizarse mediante otras una o más unidades de procesamiento (o núcleos), en uno o más circuitos integrados. En otras realizaciones, pueden usarse otros tipos de circuitos integrados (p. ej., ASIC estructurados/de plataforma, Field Programmable Gate Arrays (Conjuntos de puertas programables en campo - FPGA) y otros CI semipersonalizados), que pueden programarse de cualquier forma conocida en la técnica. Cada una también puede aplicarse, total o parcialmente, con instrucciones incorporadas a un medio legible por ordenador, a las que se da formato para ser ejecutadas por uno o más procesadores generales o de aplicación específica. Las colas 810 pueden incorporarse a una o más memorias, que pueden estar o bien en, o fuera de, un chip.
Para la explicación, asumamos que el dispositivo 800 es una puerta 115 de enlace dentro del sistema 100 de la figura 1. Sin embargo, obsérvese que, en otras realizaciones, el dispositivo 800 puede utilizarse en cualquier número de aplicaciones de ACM distintas. En una realización, el sistema 100 se aplica en una configuración en estrella en donde cada terminal 130 se comunica con el dispositivo 800, recibiendo una señal de radiodifusión de banda ancha y buscando la forma de onda para los datos destinados a ese terminal 130. Cada terminal 130 puede calcular la calidad de señal del enlace de servicio mediante el uso de una cualquiera de una diversidad de métricas, y transmitir la estimación al dispositivo de puesta en cola a través del trayecto de retorno. En otras realizaciones, el dispositivo 800 puede recibir también los datos de calidad de señal de enlace de otras fuentes. El dispositivo 800 tiene entonces una estimación de señal de recepción para cada terminal (p. ej., la tabla 250 de direcciones/SNR de la figura 2B), y puede organizar estos datos en una o más memorias, que pueden aplicarse en hardware, de un medio legible por ordenador separado, o de forma externa al dispositivo 800.
Pasando ahora al flujo de paquetes, un paquete de datos procedente de una fuente de datos puede ser recibido por el dispositivo 800 de puesta en cola. El dispositivo 800 de puesta en cola incluye un número de colas 810 de reenvío de paquetes individuales, cada una asignada a una ModCod distinta y asociada a un intervalo seleccionado de una serie de intervalos de calidad de señal. Después de entrar en el dispositivo, cada paquete respectivo es recibido por una unidad 805 de puesta en cola configurada para poner el paquete en una cola seleccionada de una de las colas 810 de reenvío de paquetes. La cola particular seleccionada se basa en su asociación a un intervalo de calidad de señal que abarca una calidad de señal de un enlace al que está destinado el paquete respectivo. Para hacer esta asignación, la unidad 805 de puesta en cola puede producir, o acceder de cualquier otra forma, a una tabla 200 de ModCods, o a otros mecanismos que correlacionan determinados intervalos de estimación de calidad de señal con distintas ModCods. Al poner en cola los paquetes a medida que llegan, la unidad 805 de puesta en cola es capaz de ordenar los paquetes en las colas 810 del más antiguo al más nuevo. Por lo tanto, las colas 810 pueden ser memorias intermedias FIFO, de forma que los paquetes en cada cola están en orden de tiempo. (Cabe señalar que, en algunas realizaciones, la unidad 405 de clasificación de la figura 4 puede aplicarse como la unidad 805 de puesta en cola de la figura 8).
Una unidad 815 de transmisión, conectada directa o indirectamente con las colas 810 de reenvío de paquetes, está configurada para transmitir los paquetes según un orden de progresión definido, y para producir una salida 820 de señal de radiodifusión. En una realización, el orden de progresión definido comprende transmitir cada paquete de datos recibido en una cola de reenvío dada asociada con una primera ModCod (p. ej., en secuencia del más antiguo al más nuevo), antes de incrementar a la cola 810 asociada con una siguiente ModCod de orden superior y transmitir cada paquete de datos recibido asociada a una siguiente ModCod de orden superior (de nuevo, quizás en secuencia del más antiguo al más nuevo), e incrementar en consecuencia a la cola 810 con la ModCod de orden más alto. Una vez vaciada la cola con la ModCod de orden más alto, el proceso se repite a continuación comenzando por la cola 810 asociada con la ModCod de orden más bajo. Obsérvese que, en una realización, el orden de progresión definido puede prever la transmisión de al menos un paquete de datos desde una primera cola seleccionada y un paquete de datos, o fragmento, desde una segunda cola seleccionada en una única trama según una ModCod de orden inferior. Por ejemplo, cuando hay espacio adicional disponible en una trama 320 de banda base y ningún otro paquete restante está asociado a una ModCod actual, puede insertarse un paquete de datos (o un fragmento del mismo) asociado a una siguiente ModCod de orden superior en la trama 320 de banda base. Obsérvese también que la expresión “orden de progresión definido” puede incluir cualquiera de una serie de esquemas de puesta en cola que pueden ordenar y dar formato a los paquetes para su reenvío sobre la base de la ModCod, la dirección de destino, el orden recibido, la antigüedad, etc.
El orden de progresión definido se interrumpe al expirar un temporizador (a continuación en la memoria, “temporizador de interrupción” ), y se identifica un paquete que supera una antigüedad umbral y desde una cola 810 fuera de orden. En una realización, el paquete identificado es el paquete recibido más antiguo aún no transmitido (es decir, la antigüedad umbral es el segundo paquete más antiguo). El paquete identificado se transmite a continuación, y el orden de progresión definido puede reiniciarse desde el paquete transmitido. Obsérvese que, en una realización, el orden de progresión definido puede prever la transmisión de al menos un paquete de datos desde la primera cola seleccionada y el paquete de datos desde la segunda cola seleccionada en una única trama según la primera ModCod
Pasando a la figura 9, se ilustra una realización alternativa del dispositivo 800 de puesta en cola, incluida una funcionalidad de componente adicional a la descrita con respecto a la figura 8. En esta realización, antes de ser recibido por el dispositivo 400, un paquete de datos puede desplazarse desde la fuente de datos a través de un enrutador 930 de tipo Clase de Servicio/Calidad de Servicio, que puede adjuntar el campo de información de clase o calidad de servicio y un campo de dirección que identifica el terminal de destino.
Desde el Enrutador de tipo QoS/CoS, un paquete de datos puede transmitirse al dispositivo 805 de puesta en cola. Además de la funcionalidad descrita anteriormente, la unidad 805 de puesta en cola en esta realización puede incluir una unidad 905 de la indicación de tiempo, un contador 910, una unidad 915 de filtrado y una unidad 920 de margen. El dispositivo 800 de puesta en cola puede utilizar estos componentes para controlar determinadas modificaciones de flujo. La unidad 905 de la indicación de tiempo puede utilizarse para adjuntar o asociar de cualquier otra forma una indicación de tiempo a un paquete cuando es recibido por el dispositivo, o en otras etapas de procesamiento. La indicación de tiempo puede, por tanto, utilizarse para determinar la “ antigüedad” del paquete dado. La indicación de tiempo puede ser usada por otros componentes del dispositivo 800 de puesta en cola para determinar la latencia asociada con un paquete o paquetes particulares en diferentes etapas de procesamiento (es decir, la latencia desde la recepción en el dispositivo 800 hasta la transmisión, la latencia dentro de la unidad de puesta en cola, etc.).
La unidad 805 de puesta en cola puede hacer uso de la indicación de tiempo de una serie de formas. Por ejemplo, consideremos una interrupción del orden de progresión definido para identificar un paquete fuera de orden. Si la antigüedad (determinada mediante el uso de la unidad 905 de la indicación de tiempo) del paquete identificado supera una primera antigüedad umbral (p. ej., 60 ms), la unidad 915 de filtrado puede configurarse para permitir que entren los paquetes de datos asociados con una calidad o clase de servicio umbral, mientras que otros se bloquean. Si el paquete identificado supera una segunda antigüedad umbral (p. ej., 90 ms), la unidad 915 de filtrado puede configurarse además para bloquear todos los paquetes entrantes hasta que expira otro periodo del temporizador.
En una realización, la unidad 805 de puesta en cola incluye una unidad 920 de margen configurada para variar un intervalo de calidad de señal asociado a una o más colas. La unidad 920 de margen puede variar el intervalo de calidad de señal de una cola para modificar un margen de fiabilidad para los paquetes de datos destinados a un enlace dentro del intervalo de calidad de señal que se ha hecho variar. A modo de ejemplo, la unidad 920 de margen puede configurarse para aumentar la calidad de señal mínima de un intervalo cuando el tráfico es ligero y disminuir la calidad de señal mínima de un intervalo cuando el tráfico es pesado. Este ajuste puede, por ejemplo, hacerse basándose en la antigüedad del paquete identificado al expirar el temporizador 925.
En una realización, la unidad de puesta en cola utiliza un contador 910 para asociar un orden con los paquetes de datos, quizás de una forma en función de la dirección de destino. La unidad 815 de transmisión puede configurarse para mantener la transmisión de un paquete de datos cuando el paquete es especificado como fuera de orden por el contador.
Como se ha indicado anteriormente, según un conjunto de realizaciones, el orden de progresión definido se interrumpe al expirar un temporizador, y se identifica un paquete que supera una antigüedad umbral, y desde una cola 810 fuera de orden. El temporizador puede ubicarse en el, o fuera del, dispositivo. En una realización, un temporizador 925 en el dispositivo se ubica en la unidad 815 de transmisión. La unidad 815 de transmisión puede configurarse para variar el periodo del temporizador basándose al menos en parte en la medida de latencia o una medida de flujo de datos (p. ej., reduciendo el periodo del temporizador si aumentan la antigüedad de los paquetes y el flujo de datos a través del dispositivo 800). Aunque estos cambios pueden estar asociados con la antigüedad del paquete identificado a partir de la cola fuera de orden, pueden utilizarse otras mediciones de latencia y flujo de tráfico para modificar estos parámetros (p. ej., los parámetros de la unidad 915 de filtrado, los parámetros de la unidad 920 de margen o el periodo del temporizador 925).
Pasando a la figura 10, un diagrama de flujo ilustra un flujo 1000 de decisión a modo de ejemplo para un dispositivo, tal como el dispositivo 800 de puesta en cola de las figuras 8 o 9. En el bloque 1002, asumamos que el proceso comienza al expirar un temporizador, tal como el temporizador 925 en la unidad 820 de transmisión de la figura 9. El temporizador se reinicia entonces. En esta realización, hay una tabla en la que direcciones MAC de los terminales de destino se asocian a las colas 810 (p. ej., utilizando las tablas 200, 250). En el bloque 1004, estas tablas se actualizan con información de SNR revisada procedente de los terminales. Los paquetes de datos entrantes se filtran en el bloque 1006 según reglas de bloqueo basadas en mediciones de latencia, y estas reglas pueden, por ejemplo, ser aplicadas por la unidad 915 de filtrado. En el bloque 1008, los paquetes permitidos se colocan en las colas respectivas 810, basándose en la SNR del terminal de destino y los intervalos de señal aplicables a las colas 810. La cola 810 con el paquete más antiguo, y la antigüedad de ese paquete, se identifican en el bloque 1010. Estos primeros bloques en la figura 10 (1002, 1004, 1006, 1008, 1010) pueden iniciarse juntos al mismo tiempo, o aproximadamente al mismo tiempo.
Los cálculos de margen de fiabilidad para cada cola 810 de ModCod pueden revisarse entonces, en el bloque 1012, basándose en la antigüedad del paquete más antiguo. Además, las reglas de bloqueo pueden modificarse, en el bloque 1014, basándose también en la antigüedad del paquete más antiguo. Estas revisiones se aplicarán en el bloque 1016 tras expirar el temporizador. En otras realizaciones, el periodo del temporizador puede modificarse basándose también en la antigüedad del paquete más antiguo.
En el bloque 1018, el paquete más antiguo (o un fragmento del mismo) se mueve desde la cola identificada 810 a la parte de carga útil de una trama, por ejemplo, una trama 320 de banda base para el sistema DVB-S2. En el bloque 1020 se realiza una determinación de si la trama se ha completado (por ejemplo, una determinación de que no queda espacio alguno disponible en la trama). Si la trama se ha completado, la trama se encapsula y se reenvía a la unidad de modulación y codificación en el bloque 1022, en donde se codifica y se correlaciona en consecuencia. En el bloque 1024 se realiza una determinación de si la trama incluye un comienzo de un fragmento. En tal caso, el bloque 1026 indica que la siguiente trama comenzará con la parte restante del fragmento para completar el paquete (independientemente de si el temporizador expira mientras tanto). En el bloque 1028 se realiza una determinación de si el temporizador ha expirado. En caso afirmativo, en el bloque 1048 se reinicia el proceso 1000 de vuelta al bloque 1002.
Volviendo al bloque 1020, si se determina que la trama no está completa, la trama puede seguir rellenándose. De forma similar, si el temporizador no ha expirado en el bloque 1028, puede construirse una nueva trama. En cada caso, se realiza una determinación en el bloque 1030 acerca de si se ha enviado el último paquete procedente de una cola actual 810. Si quedan paquetes en la cola actual 810, el proceso vuelve al bloque 1018 para mover el paquete más antiguo desde la cola actual 810 para llenar (o comenzar) la trama. Sin embargo, si se determina que no quedan paquetes en la cola actual 810, aún puede llenarse o construirse una trama con un paquete procedente de una cola asociada a una cola de orden superior.
Por lo tanto, en el bloque 1032, se realiza una determinación de si todas las colas de orden superior están vacías. En caso negativo, un identificador de cola actual se incrementa, en el bloque 1034, a la siguiente cola 810 no vacía más alta, y seguidamente vuelve al bloque 1018 para mover el paquete más antiguo desde la cola 810 recién identificada para llenar (o comenzar) la trama. Cuando una trama eventualmente se completa y se reenvía a la unidad de modulación y codificación en el bloque 1022, y los paquetes asociados a distintas ModCods están en una única trama, se utiliza la ModCod de orden más bajo asociada a los paquetes de la trama. Será evidente para los expertos en la técnica cómo el proceso descrito puede vaciar las colas 810 para construir y llenar tramas, incrementando a las siguientes colas 810 no vacías de orden superior a medida que se vacían las colas actuales 810.
Volviendo al bloque 1032, si se determina que no hay colas de orden superior en las que queden paquetes, la trama se rellena en el bloque 1036 (p. ej., con el relleno 315 de una trama de banda base de DVB-S2 320). La trama se encapsula y se reenvía a la unidad de modulación y codificación en el bloque 1038, en donde se codifica y se correlaciona en consecuencia. En el bloque 1040 se realiza una determinación de si el temporizador ha expirado. En caso afirmativo, el proceso 1000 se reinicia en el bloque 1048. Si el temporizador no ha expirado, en el bloque 1042 se realiza una determinación de si todas las colas de orden inferior están vacías. En caso negativo, el proceso se decrementa, en el bloque 1044, a la cola 810 no vacía de orden más bajo, y entonces vuelve al bloque 1018 para mover el paquete más antiguo desde esa cola 810 para iniciar la siguiente trama, con el proceso repitiéndose de la forma descrita anteriormente a partir del bloque 1018.
Volviendo al bloque 1042, si la determinación es que todas las colas de orden inferior están vacías, se forma una trama toda de relleno en el bloque 1046. El proceso vuelve al bloque 1038, en donde la trama toda de relleno se encapsula y se reenvía a la unidad de modulación y codificación, en donde se codifica y se correlaciona en consecuencia, y el proceso continúa desde allí.
La figura 11 es un diagrama de flujo que ilustra un proceso 1100 para controlar el flujo del tráfico de datos aplicando una codificación y modulación adaptativa utilizando colas de reenvío de paquetes. El proceso puede ser realizado, por ejemplo, total o parcialmente por el dispositivo 800 de las figuras 8 o 9. En el bloque 1105, se asigna una ModCod distinta a cada una de un número de colas de reenvío de paquetes, cada cola asociada a un intervalo de calidad de señal distinto. En el bloque 1110, unos paquetes de datos recibidos se colocan, cada uno, en colas seleccionadas, estando la cola seleccionada asociada a un intervalo de calidad de señal que abarca la calidad de señal de un enlace al que está destinado el paquete respectivo. En el bloque 1115, al menos algunos de los paquetes de datos se transmiten según un orden de progresión definido. En el bloque 1120, el orden de progresión definido se reinicia al expirar un temporizador para identificar, y transmitir, un paquete fuera de orden que supera una antigüedad umbral. En un conjunto de realizaciones, este paquete identificado es el paquete más antiguo que permanece en las colas.
Pasando a la figura 12, se muestra un diagrama de flujo que ilustra un proceso 1200 alternativo para controlar el flujo del tráfico de datos utilizando colas de reenvío de paquetes para aplicar una codificación y modulación adaptativa. El proceso puede ser realizado, por ejemplo, total o parcialmente por el dispositivo 800 de las figuras 8 o 9. En el bloque 1205, unas ModCods se asocian, cada una, con un intervalo de calidad de señal, incluyendo el intervalo de calidad de señal un margen de fiabilidad. En el bloque 1210, las ModCods se asignan cada una a uno de un número de colas de reenvío de paquetes, estando cada cola asociada, de ese modo, a un intervalo de calidad de señal distinto.
En el bloque 1215, unos paquetes de datos respectivos se colocan, cada uno, en colas seleccionadas, siendo la cola seleccionada para cada paquete la cola asociada a un intervalo de calidad de señal que abarca la calidad de señal de un enlace al que está destinado el paquete respectivo. En el bloque 1220 se transmiten paquetes de datos según un orden de progresión definido, incluyendo el orden vaciar una cola e incrementar a la siguiente cola de ModCod de orden superior, en donde unos paquetes de datos seleccionados asignados a diferentes ModCods se transmiten en una única trama según la ModCod de orden inferior. En el bloque 1225, el orden de progresión definido se interrumpe al expirar un temporizador para identificar y transmitir el paquete más antiguo en las colas, a partir de una cola fuera de orden. El orden de progresión definido se reinicia entonces en el bloque 1230 desde el paquete más antiguo y su cola.
En el bloque 1235, se determina una medida de latencia asociada al paquete más antiguo. En el bloque 1240 se varían al menos uno de los intervalos de calidad de señal asociados a las ModCods para modificar el margen de fiabilidad, basándose al menos en parte en la medida de latencia. El periodo del temporizador también se modifica en el bloque 1245, basándose al menos en parte en la medida de latencia. En el bloque 1250 se permite que paquetes con determinadas características de clase o calidad de servicio entren en las colas mientras que otros se bloquean, basándose este filtrado al menos en parte en las características del paquete más antiguo (p. ej., a través de la medida de latencia).
Mientras que las figuras 8-12 ilustran un conjunto de realizaciones en las que se utilizan colas de reenvío de paquetes para aplicar diversos aspectos de la invención, pueden aplicarse determinados principios establecidos utilizando una diversidad de estructuras de datos alternativas. Haciendo referencia a continuación a la figura 13, un diagrama de bloques simplificado ilustra un ejemplo de un dispositivo 1300 de conformación de tráfico configurado para utilizar una estructura de datos de lista enlazada para conformar y controlar el tráfico de datos según ModCod en un sistema de ACM. En una realización, el dispositivo 1300 de conformación de tráfico puede ser el dispositivo 400 descrito en relación con la figura 4, que aplica una modulación y codificación adaptativa utilizando una lista enlazada de la forma descrita posteriormente.
El dispositivo 1300 en esta realización incluye una unidad 1305 de procesamiento, memorias intermedias 1310, una lista enlazada 1315 y una unidad 1320 de transmisión. Estos componentes (1305, 1310, 1315 y 1320) pueden estar en comunicación entre sí y pueden aplicarse, total o parcialmente, en hardware. Por lo tanto, pueden comprender uno o más Application Specific Integrated Circuits (Circuitos integrados específicos de aplicación - ASIC) adaptados para realizar un subconjunto de las funciones aplicables en hardware. De forma alternativa, las funciones pueden realizarse mediante otras una o más unidades de procesamiento (o núcleos), en uno o más circuitos integrados. En otras realizaciones, pueden utilizarse otros tipos de circuitos integrados (p. ej., ASIC estructurados/de plataforma, Field Programmable Gate Arrays (Conjuntos de puertas programables en campo - FPGA) y otros CI semipersonalizados), que pueden programarse de cualquier forma conocida en la técnica. Cada una también puede aplicarse, total o parcialmente, con instrucciones incorporadas a un medio legible por ordenador, a las que se da formato para ser ejecutadas por uno o más procesadores generales o de aplicación específica. Las memorias intermedias 1310 y la lista enlazada 1315 pueden incorporarse a una o más memorias, que pueden estar en, o fuera de, un chip.
Para la explicación asumamos que el dispositivo 1300 es una puerta 115 de enlace dentro del sistema 100 de la figura 1. Sin embargo, obsérvese que, en otras realizaciones, el dispositivo 1300 puede utilizarse en cualquier número de aplicaciones de ACM distintas. Como se observa con respecto a otras realizaciones, cada terminal 130 puede medir la calidad de señal del enlace de servicio utilizando una cualquiera de una diversidad de métricas, y transmitir la medición al dispositivo de conformación de tráfico 1300 a través del trayecto de retorno. En otras realizaciones, el dispositivo 1300 puede recibir también los datos de calidad de señal de enlace de otras fuentes. El dispositivo 1300 de conformación de tráfico puede tener entonces una medición de señal de recepción procedente de cada terminal (p. ej., la tabla 250 de direcciones/SNR de la figura 2B), y puede organizar estos datos en una o más memorias, que pueden aplicarse en hardware, en un medio legible por ordenador separado, o de forma externa al dispositivo 1300.
Pasando ahora al flujo de paquetes, antes de ser recibido por el dispositivo 1300, un paquete de datos puede desplazarse desde una fuente de datos a través de un enrutador de tipo Clase de Servicio/Calidad de Servicio (no mostrado), que puede adjuntar varios campos de paquete de datos de información. Estos campos pueden incluir la información de QoS/CoS para el paquete, información de dirección del terminal de destino, un campo de contador y un campo de indicación de tiempo. También pueden integrarse en el dispositivo 1300 cualquiera de estas funcionalidades.
Al ser recibidos por el dispositivo 1300 de conformación de tráfico a partir de una fuente de datos, la unidad 1305 de procesamiento puede almacenar los paquetes de datos recibidos (y cualesquiera datos adjuntos) en las memorias intermedias 1310. La unidad 1305 de procesamiento también inserta un nuevo elemento asociado al paquete de datos almacenado en memoria intermedia en una lista enlazada 1315, que se utilizará para conformar el tráfico a medida que el mismo se transmite desde el dispositivo 1300. En una realización, la unidad 405 de clasificación de la figura 4 es la unidad 1305 de procesamiento de la figura 13.
La lista enlazada puede estructurarse en una diversidad de formas, como es conocido en la técnica, y la siguiente explicación ilustra únicamente un subconjunto de las aplicaciones posibles. En una realización, la lista enlazada puede caracterizarse como una estructura de datos formada por una secuencia de elementos, conteniendo cada elemento un campo (o más) para los datos, y conteniendo también dos punteros que enlazan el elemento a los elementos siguiente y previo. En una realización, los datos en cada elemento están formados por un testigo u otro puntero que hace referencia al paquete de datos almacenado en memoria intermedia (y cualesquiera datos adjuntos) que representa el elemento. En otras realizaciones, el testigo u otro puntero puede hacer referencia a una tabla que incluye determinadas partes de la información a partir del paquete almacenado en memoria intermedia y otras fuentes. Por ejemplo, el testigo u otro puntero puede hacer referencia directa o indirectamente a las tablas (200, 250) de ModCods y de direcciones/SNR en las figuras 2A y 2B. Por lo tanto, existe una diversidad de formas en las que un campo (o más) de datos de un elemento puede estar asociado al paquete de datos almacenado en memoria intermedia (y cualesquiera datos adjuntos) que representa el elemento.
Como se señala, la lista enlazada 1315 puede caracterizarse como una estructura de datos constituida por una secuencia de elementos, conteniendo cada elemento un campo (o campos) para los datos, y conteniendo también punteros que enlazan el elemento a los elementos siguiente y previo. En una realización, la lista enlazada es una lista enlazada circularmente, en donde el último elemento de la lista se enlaza de vuelta al primero. Para facilitar la explicación de la siguiente realización, la “ parte superior” de la lista se denominará a continuación en la memoria como la parte de la lista que contiene el elemento asociado al paquete más antiguo que queda por reenviar, mientras que la “parte inferior” de la lista se denominará a continuación en la memoria como la parte de la lista que contiene el elemento asociado al paquete más nuevo que queda por reenviar. A medida que se reciben paquetes de datos, sus elementos asociados se insertan en la parte inferior de la lista para construir de ese modo la lista.
Obsérvese que, mientras que en otras realizaciones pueden utilizarse colas de reenvío de paquetes para conformar y controlar el tráfico, en las siguientes realizaciones puede utilizarse un mecanismo distinto aunque relacionado. Por ejemplo, en lugar de tener ModCods relacionadas con colas, consideremos una realización en donde cada una de un número de ModCods está relacionada con los intervalos de calidad de señal (sin tampoco estar necesariamente relacionada con colas físicas). Esta relación podría incorporarse a una o más memorias, que pueden estar en, o fuera de, un chip. Esta relación puede ser, por ejemplo, la tabla 200 de la figura 2A. Sin embargo, hay una diversidad de formas en la que los intervalos de calidad de señal pueden relacionarse con las ModCods. Obsérvese también que puede haber más de un intervalo relacionado con cada ModCod, y los intervalos pueden ser de cualquier tamaño.
Como se ha indicado anteriormente, cuando el dispositivo 1300 de conformación de tráfico recibe paquetes de datos, la unidad 1305 de procesamiento puede almacenar los paquetes de datos recibidos (y cualesquiera datos adjuntos) en las memorias intermedias 1310. La unidad 1305 de procesamiento también inserta un nuevo elemento asociado al paquete de datos almacenado en memoria intermedia en la lista enlazada 1315. La unidad 1305 de procesamiento puede identificar seguidamente un intervalo de calidad de señal asociado a una ModCod dada. En algunas realizaciones, los elementos identificados en la lista se eliminarán de forma que la parte superior de la lista identificará los paquetes más antiguos que se van a transmitir, y la lista enlazada continuará hacia la parte inferior en orden cronológico. A continuación, la unidad 1305 de procesamiento iterará a través de la lista enlazada 1315 para identificar elementos asociados con los paquetes de datos destinados a enlaces dentro del intervalo de calidad de señal identificado. Una vez que se ha alcanzado la parte inferior de la lista, la unidad 1305 de procesamiento puede realizar un recorrido circular hasta la parte superior de la lista enlazada 1315 e iterar a su través para identificar los elementos asociados con enlaces dentro de un segundo intervalo de calidad de señal asignado a la siguiente ModCod de orden superior. Este proceso puede repetirse para identificar elementos asociados a paquetes para incrementar las ModCods superiores. Una vez vaciado el intervalo de calidad de señal asociado a la ModCod de orden más alto, el proceso se repite a continuación comenzando por el intervalo de calidad de señal asociado a la ModCod de orden más bajo. Este orden de progresión es únicamente un ejemplo de muchos, pero se utilizará para gran parte de la explicación que sigue
La unidad 1320 de transmisión está configurada para acceder a, o recibir de cualquier otra forma, los paquetes de datos almacenados en memoria intermedia. La unidad 1320 de transmisión puede transmitir los paquetes en un orden correspondiente a una secuencia en la que se identifican sus elementos asociados, y según la ModCod asignada al intervalo de calidad de señal identificado. En una realización, la unidad 410 de transmisión de la figura 4 es la unidad 1320 de transmisión de la figura 13. Una transmitidos los datos (o, quizá, tras confirmar la recepción), puede asignarse la memoria (p. ej., las memorias intermedias 1310) para el paquete transmitido según esté disponible.
La unidad 1305 de procesamiento puede configurarse para identificar paquetes según un orden de progresión definido. Asimismo, la unidad 1320 de transmisión puede configurarse para transmitir los paquetes según el orden de progresión definido, y para producir una salida 1325 de señal de radiodifusión. En una realización, el orden de progresión definido comprende identificar y transmitir los paquetes de datos recibidos en un intervalo de calidad de señal dado asociado a una primera ModCod (p. ej., en secuencia del más antiguo al más nuevo), antes de identificar y transmitir cada paquete de datos recibido asociado a una siguiente ModCod de orden superior (de nuevo, quizá en secuencia del más antiguo al más nuevo), e incrementar en consecuencia a la ModCod de orden más alto. Una vez identificados los paquetes asociados a la ModCod de orden más alto, el proceso puede repetirse a continuación, comenzando por los paquetes identificados a partir de la ModCod de orden más bajo.
Obsérvese que, en una realización, el orden de progresión definido puede prever la transmisión de al menos un paquete de datos dentro de un primer intervalo de calidad de señal asignado a una primera ModCod y un paquete de datos, o fragmento, a partir de un segundo intervalo de calidad de señal asignado a una segunda ModCod en una única trama según la ModCod de orden inferior. Por ejemplo, cuando hay espacio adicional disponible en una trama 320 de banda base y ningún otro paquete restante está asociado a una ModCod actual, puede insertarse un paquete de datos (o un fragmento del mismo) asociado a una siguiente ModCod de orden superior en la trama 320 de banda base. Obsérvese también que la expresión “orden de progresión definido” incluye cualquiera de una serie de esquemas que pueden ordenar y dar formato a los paquetes para su reenvío basándose en la ModCod, la dirección de destino, el orden recibido, la antigüedad, etc.
En una realización, el orden de progresión definido se interrumpe al expirar un temporizador (a continuación en la memoria, “temporizador de interrupción” ), y se identifica un paquete que supera una antigüedad umbral. En una realización, el paquete identificado es el paquete recibido más antiguo aún no transmitido (es decir, es el paquete procedente de la parte superior de la lista). El paquete identificado se transmite a continuación y el orden de progresión definido puede reiniciarse desde el paquete transmitido (es decir, el intervalo de calidad de señal “actual” se convertirá en el intervalo de calidad de señal del paquete identificado, y continuará la iteración a través de la lista).
Pasando a la figura 14, se ilustra una realización alternativa del dispositivo 1300 de conformación de tráfico, incluida una funcionalidad de componente adicional a la descrita con respecto a la figura 13. Además de la funcionalidad descrita anteriormente para la figura 13, la unidad 805 de procesamiento en esta realización puede incluir una indicación 1405 de tiempo, una unidad 1410 de filtrado, una unidad 1415 de margen y un temporizador 1420. El dispositivo 1300 de conformación de tráfico puede utilizar estos componentes para controlar determinadas modificaciones de flujo. La indicación 1405 de tiempo puede utilizarse para adjuntar o asociar de cualquier otra forma un tiempo a un paquete cuando es recibido por el dispositivo, o en otras etapas de procesamiento. La indicación 1405 de tiempo puede, por tanto, utilizarse para determinar la “antigüedad” del paquete dado. La indicación de tiempo puede ser utilizada por otros componentes del dispositivo 1300 de conformación de tráfico para determinar la latencia asociada con un paquete o paquetes particulares en diferentes etapas de procesamiento (es decir, la latencia desde la recepción en el dispositivo 1300 hasta la transmisión, la latencia dentro de la unidad 1305 de procesamiento, etc.).
La unidad 1305 de procesamiento puede hacer uso de una indicación de tiempo de varias formas. Por ejemplo, consideremos una interrupción del orden de progresión definido para identificar un paquete fuera de orden. Si la antigüedad (determinada mediante el uso de la indicación 1405 de tiempo) del paquete identificado supera una primera antigüedad umbral (p. ej., 70 ms), la unidad 1410 de filtrado puede configurarse para permitir que un elemento se inserte en la lista enlazada 1315 únicamente si un paquete de datos tiene una calidad o clase de servicio umbral, mientras se bloquean otros. Si el paquete identificado supera una segunda antigüedad umbral (p. ej., 120 ms), la unidad 1410 de filtrado puede configurarse además para evitar que cualquier elemento se inserte en la lista enlazada. La unidad 1305 de procesamiento puede configurarse para cambiar estos umbrales.
En una realización, la unidad 1305 de procesamiento incluye una unidad 1415 de margen configurada para cambiar dinámicamente un intervalo de calidad de señal asociado a una o más colas. La unidad 920 de margen puede variar el intervalo de calidad de señal asociado a una ModCod para modificar un margen de fiabilidad para los paquetes de datos destinados a un enlace dentro del intervalo de calidad de señal que se ha modificado. A modo de ejemplo, la unidad 1415 de margen puede configurarse para aumentar la calidad de señal mínima de un intervalo cuando el tráfico es ligero y disminuir la calidad de señal mínima de un intervalo cuando el tráfico es pesado. Este ajuste puede hacerse, por ejemplo, basándose en la antigüedad del paquete identificado al expirar el temporizador 1420.
Como se ha indicado anteriormente, según un conjunto de realizaciones, el orden de progresión definido se interrumpe al expirar un temporizador, y se identifica un paquete que supera una antigüedad umbral, y desde un intervalo de calidad de señal fuera de orden. El temporizador puede ubicarse en el, o fuera del, dispositivo. En una realización, un temporizador 1420 en el dispositivo está situado en la unidad 1305 de procesamiento. La unidad 1305 de procesamiento puede configurarse para cambiar el periodo del temporizador basándose al menos en parte en la medida de latencia o en una medida de flujo de datos (p. ej., reduciendo el periodo del temporizador si aumentan la antigüedad de los paquetes y el flujo de datos a través del dispositivo 1300). Aunque estos cambios pueden estar asociados a la antigüedad del paquete identificado, pueden utilizarse otras mediciones de latencia y flujo de tráfico para modificar los parámetros relacionados con el margen de fiabilidad, con las reglas de bloqueo y permiso y con el periodo del temporizador.
También cabe señalar que la lista enlazada y las memorias intermedias pueden estar situadas en áreas de memoria separadas o compartir un área 1425 de memoria.
Pasando a la figura 15A, se muestra un diagrama 1500 de bloques que ilustra un ejemplo simplificado de una aplicación de ACM utilizando una lista enlazada. El diagrama de bloques ilustra cómo puede utilizarse una lista enlazada 1505 para controlar el flujo de tráfico. La lista enlazada 1505 de la figura 15 puede ser la lista enlazada 1315 de las figuras 13 y 14. En esta realización, la lista enlazada 1505 es una estructura de datos formada por una secuencia de elementos (o nodos), conteniendo cada elemento uno (o más) campos para datos, y conteniendo también dos punteros que enlazan el elemento a los elementos siguiente y previo. Los punteros que enlazan cada elemento a los elementos siguiente y previo se muestran como los enlaces 1515. Aunque los elementos 1-25 en la figura 15A se muestran como adyacentes entre sí, de hecho pueden ocupar regiones de memoria muy diversas, como es evidente para los expertos en la técnica. En una realización, los datos en cada elemento están formados por un testigo u otro puntero que hace referencia a un paquete de datos almacenado en memoria intermedia (y cualesquiera datos adjuntos) que representa el elemento. En otras realizaciones, el testigo u otro puntero puede hacer referencia indirectamente a una tabla que incluye determinadas partes de la información procedente del paquete almacenado en memoria intermedia y otras fuentes. Por ejemplo, en esta realización una tabla 1510 está conectada indirectamente a la lista enlazada 1505, y la tabla 1510 muestra la estimación de SNR para el enlace asociado a una diversidad de direcciones MAC.
En esta realización, la lista enlazada 1505 es una lista enlazada circularmente, en donde el último elemento en la lista se enlaza de vuelta al primero. Para facilitar la explicación de la siguiente realización, la “ parte superior” de la lista se referirá a la parte de la lista que contiene el elemento asociado al paquete más antiguo que queda por reenviar, mientras que la “ parte inferior” de la lista se referirá a la parte de la lista que contiene el elemento asociado al paquete más nuevo que queda por reenviar. A medida que se reciben paquetes de datos, sus elementos asociados se insertan en la parte inferior de la lista para construir de ese modo la lista. A medida que se identifican los paquetes para transmisión, sus elementos asociados se eliminan de la lista.
La figura 15A ilustra la lista en un primer instante (T1). Asumamos que, en esta realización, un primer intervalo de calidad de señal incluye la SNR “a” , pero ninguna otra SNR está en el intervalo. Para cada elemento, el dispositivo 1300 puede identificar la dirección MAC del elemento y seguidamente acceder a la tabla 1510-a para determinar si el elemento está asociado a una dirección MAC en el intervalo. El dispositivo 1300 itera a través de la lista enlazada 1505-a desde los elementos 1-25, identificando y eliminando los elementos 1,8, 17 y 24, porque estos elementos están asociados a la SNR dentro del intervalo. Un segundo intervalo de calidad de señal asociado a la siguiente ModCod superior incluye la SNR “g” , pero ninguna otra SNR está en el intervalo. Para cada elemento restante, el dispositivo 1300 puede identificar la dirección MAC del elemento y entonces acceder a la tabla 1510-a para determinar si el elemento está asociado a una dirección MAC en el intervalo. El dispositivo 1300 itera a través de la lista enlazada 1505, identificando y eliminando los elementos 3 y 19, ya que estos elementos están asociados a unas SNR dentro del segundo intervalo. Los paquetes asociados con los elementos 1, 8 y 17 se transmiten en una primera trama según el primer intervalo de calidad de señal. Sin embargo, debido a que hay espacio en la trama 320 de banda base de DVB-S2, los paquetes asociados con los elementos 24 y 3 se transmiten en una segunda trama según la ModCod asignada al primer intervalo de calidad de señal. El paquete asociado al elemento 19 se transmite en una tercera trama según la ModCod asignada al segundo intervalo de calidad de señal.
La figura 15B muestra la lista enlazada 1505-b en un segundo instante (T2) después de que el dispositivo haya iterado a través de los elementos 1-25, después a través de 2-7, 9-16 y 18-23, momento en el que expira el temporizador. Como es evidente, los elementos 1, 3, 8, 17, 19 y 24 han sido eliminados de la lista enlazada 1505-b, y se han agregado unos elementos 26-28 nuevos, y los elementos que permanecen están enlazados del más antiguo en la parte superior hasta el más nuevo en la parte inferior. Sin embargo, en vez de iterar a través de los elementos 25-28, el dispositivo 1300 irá a la parte superior de la lista enlazada para identificar el elemento más antiguo (elemento 2) debido a que el temporizador expira. El dispositivo identificará el intervalo de calidad de señal de este elemento identificado e iterará desde el elemento 2 bajando por la lista, identificando otros elementos asociados a los paquetes en este intervalo. Obsérvese también que, al expirar el temporizador, se actualiza la tabla 1510-b y hay una nueva SNR para la dirección MAC 4. El ejemplo anterior solo se utiliza para ilustrar un ejemplo simplificado de cómo puede usarse una lista enlazada en diversas realizaciones de la invención.
Pasando a la figura 16, un diagrama de flujo ilustra un flujo 1600 de decisión 1600 ilustrativo para un dispositivo, como el dispositivo 1300 de conformación de tráfico de las figuras 13 o 14. Asumamos que una lista enlazada como la lista enlazada 1505 de las figuras 15A o 15B se ordena cronológicamente con los elementos más antiguos en la parte superior de la lista. En el bloque 1002, asumamos que el proceso comienza al expirar un temporizador, como el temporizador 1420 en la unidad 1305 de procesamiento de la figura 1400. El temporizador se reinicia entonces. En esta realización, distintos intervalos de SNR están asociados a distintas ModCods. Además hay una tabla en la que se asocian las SNR 1510 a las direcciones MAC de los terminales de destino. En el bloque 1604, estas tablas se actualizan con información de SNR revisada procedente de los terminales. Los paquetes de datos entrantes se filtran en el bloque 1606 según reglas de bloqueo basadas en una medición de latencia para el dispositivo 1300, y estas reglas pueden, por ejemplo, ser aplicadas por la unidad 1410 de filtrado. En el bloque 1608, los paquetes permitidos se asocian a elementos, y los elementos se insertan en la parte inferior de la lista enlazada. En el bloque 1610 se identifica el intervalo de calidad de señal que abarca la calidad de señal para el enlace del paquete de datos asociado al elemento en la parte superior de la lista. Estos primeros bloques en la figura 16 (1602, 1604, 1606, 1608, 1610) pueden iniciarse conjuntamente al mismo tiempo, o aproximadamente al mismo tiempo.
A continuación pueden revisarse los cálculos de margen de fiabilidad para cada ModCod en el bloque 1612, basándose en la antigüedad del paquete en la parte superior de la lista (p. ej., variando el intervalo de calidad de señal asociado a la ModCod). Además, las reglas de bloqueo pueden modificarse en el bloque 1614, también sobre la base de la antigüedad del paquete en la parte superior de la lista (es decir, el paquete más antiguo). Estas revisiones se aplicarán en el bloque 1616, tras expirar el temporizador. En otras realizaciones, el periodo del temporizador puede modificarse basándose también en la antigüedad del paquete más antiguo. Obsérvese también que, en otras realizaciones, pueden utilizarse otras mediciones de latencia o flujo para ajustar el margen de fiabilidad, las reglas de filtrado o el periodo del temporizador.
En el bloque 1618, el paquete (o un fragmento del mismo) asociado al elemento procedente de la parte superior de la lista se mueve desde la memoria intermedia a la parte de carga útil de una trama, por ejemplo, una trama 320 de banda base para el sistema DVB-S2. El elemento puede eliminarse entonces de la parte superior de la lista. En el bloque 1620 se realiza una determinación de si la trama se ha completado (por ejemplo, una determinación de que no queda espacio alguno disponible en la trama). Si la trama se ha completado, la trama se encapsula y se reenvía a la unidad de modulación y codificación en el bloque 1622, en donde se codifica y se mapea en consecuencia. En el bloque 1624, se realiza una determinación de si la trama incluye un comienzo de un fragmento. Si es así, el bloque 1626 indica que la siguiente trama comenzará con la parte restante del fragmento para completar el paquete (independientemente de si el temporizador expira mientras tanto). En el bloque 1628, se realiza una determinación de si el temporizador ha expirado. En caso afirmativo, en el bloque 1650, el proceso 1600 se reinicia de vuelta al bloque 1602.
Volviendo al bloque 1620, si se realiza la determinación de que la trama no se ha completado, la trama puede continuar llenándose. De forma similar, si el temporizador no ha expirado en el bloque 1628, puede construirse una nueva trama. En cada caso, se realiza una determinación en el bloque 1630 acerca de si se ha enviado el último paquete procedente del intervalo de calidad de señal actual. Esto se logra iterando a través de los elementos de la lista enlazada hacia abajo y comprobando si las SNR de cada paquete de datos asociado se encuentran dentro del intervalo actual. Si es así, el siguiente elemento aplicable bajando por la lista se identifica en el bloque 1632, y el proceso vuelve al bloque 1618 para mover el paquete asociado al elemento desde las memorias intermedias para llenar (o comenzar) la trama. Sin embargo, si se determina que no quedan paquetes en el intervalo de calidad de señal actual (es decir, se ha alcanzado la parte inferior de la lista enlazada), aún puede llenarse o construirse una trama con un paquete procedente de una cola asociada con una cola de orden superior.
Por lo tanto, en el bloque 1634, se realiza una determinación de si otros elementos que están asociados con cualquier intervalo de calidad de señal asignado a orden superior ModCods están vacíos. Esto se logra realizando un recorrido circular hasta la parte superior de la lista e iterando a través de la lista para determinar si hay elementos asociados con el intervalo de calidad de señal asignado a la siguiente ModCod superior, y continuando con este recorrido circular. Si hay un elemento asociado a una ModCod de orden superior, se incrementa un intervalo de calidad de señal, en el bloque 1636, al intervalo de calidad de señal de ese elemento, y vuelve después a los bloques 1632 y 1634 para identificar el elemento y mover el paquete asociado desde la memoria intermedia para llenar (o comenzar) la trama. Cuando una trama se completa eventualmente y se reenvía a la unidad de modulación y codificación en el bloque 1622, y los paquetes asociados con diferentes ModCods están en una única trama, se utiliza la ModCod de orden más bajo asociada con los paquetes de la trama. Será evidente para los expertos en la técnica cómo el proceso descrito puede identificar los paquetes procedentes de un intervalo de calidad de señal asignado a una ModCod para construir y llenar tramas, y entonces volver en un recorrido circular hasta la parte superior de una lista para identificar paquetes procedentes del intervalo de calidad de señal asociado a la siguiente ModCod superior.
Volviendo al bloque 1634, si se determina que no hay elemento alguno asociado a ModCods de orden superior, la trama se rellena en el bloque 1638 (p. ej., con el relleno 315 de una trama 320 de banda base de DVB-S2). La trama se encapsula y se reenvía a la unidad de modulación y codificación en el bloque 1640, en donde se codifica y se mapea en consecuencia. En el bloque 1642 se realiza una determinación de si el temporizador ha expirado. En caso afirmativo, el proceso 1600 se reinicia en el bloque 1650. Si el temporizador no ha expirado, en el bloque 1644 se realiza una determinación de si en la lista enlazada permanece algún elemento asociado a los paquetes asignados a ModCods de orden inferior. Esto se logra con un recorrido circular hasta la parte superior de la lista e iterando a través de la lista para determinar si hay elementos asociados con el intervalo de calidad de señal asignado a la ModCod de orden más bajo, y continuando con este recorrido circular. Si se halla un elemento de este tipo, el proceso se decrementa, en el bloque 1646, al intervalo de calidad de señal de ese elemento, y vuelve entonces a los bloques 1632 y 1634 para identificar el elemento y mover el paquete asociado desde la memoria intermedia para comenzar la trama, con el proceso avanzando a partir de ese punto.
Volviendo al bloque 1644, si se realiza una determinación de que no queda ningún elemento asociado a los paquetes asignados a ModCods de orden inferior, se forma una trama toda de relleno en el bloque 1648. El proceso vuelve al bloque 1640, donde la trama toda de relleno se encapsula y se reenvía a la unidad de modulación y codificación, donde se codifica y se correlaciona en consecuencia, y el proceso continúa desde allí.
La figura 17 es un diagrama de flujo que ilustra un proceso 1700 para controlar el flujo del tráfico de datos aplicando una codificación y modulación adaptativa utilizando una estructura de datos de lista enlazada. El proceso puede ser realizado, por ejemplo, total o parcialmente por el dispositivo 1300 de las figuras 13 o 14. En el bloque 1705, cada uno de un número de paquetes de datos está asociado a una calidad de señal, siendo la calidad de señal una calidad de señal representativa de un enlace al que está destinado el paquete. En el bloque 1710 se asigna una ModCod distinta a cada uno de un número de intervalos de calidad de señal.
En el bloque 1715 se insertan varios elementos en una lista enlazada, cada elemento asociado a uno de los paquetes de datos. En el bloque 1720, la lista enlazada se itera para identificar elementos asociados con enlaces dentro de un primer intervalo de calidad de señal. En el bloque 1725, se transmiten paquetes de datos en un orden que corresponde a una secuencia en la que se identifican sus elementos asociados, realizándose la transmisión según una primera ModCod asignada al primer intervalo de calidad de señal.
Pasando a la figura 18, se muestra un diagrama de flujo que ilustra un proceso alternativo 1200 para controlar el flujo del tráfico de datos utilizando estructuras de datos de listas enlazadas para aplicar una codificación y modulación adaptativa. El proceso puede ser realizado, por ejemplo, total o parcialmente, por el dispositivo 1300 de las figuras 13 o 14. En el bloque 1805 se asignan diferentes ModCods a cada uno de un número de intervalos de calidad de señal. En el bloque 1810, un número de paquetes de datos están asociados a una calidad de señal, siendo la calidad de señal una calidad de señal representativa de un enlace al que está destinado el paquete.
En el bloque 1815, en una lista enlazada conectada cronológicamente desde el elemento más antiguo en la parte superior hasta el elemento más nuevo en la parte inferior, se inserta un número de elementos, cada uno de ellos asociado a uno de los paquetes de datos. En el bloque 1820 se itera la lista enlazada para identificar elementos asociados con enlaces dentro de un primer intervalo de calidad de señal. En el bloque 1825, después de realizar un recorrido circular hasta la parte superior de la lista enlazada, se itera a través de la lista enlazada para identificar elementos asociados a enlaces dentro de un segundo siguiente intervalo de calidad de señal superior. En el bloque 1830 se transmiten paquetes de datos en un orden correspondiente a una secuencia en la que se identifican sus elementos asociados, en donde una o más tramas se transmiten según una primera ModCod asignada al primer intervalo de calidad de señal, incluyendo cada trama un paquete procedente de ambos intervalos.
En el bloque 1835, al expirar un temporizador, un puntero hace un recorrido circular hasta la parte superior de la lista para identificar de este modo el paquete más antiguo en la lista enlazada. El paquete puede transmitirse entonces. En el bloque 1840 se determina una medida de latencia asociada al paquete más antiguo. En el bloque 1845 se cambia al menos uno de los intervalos de calidad de señal asociados a las ModCods para modificar un margen de fiabilidad, basado al menos en parte en la medida de latencia. En el bloque 1850, el periodo del temporizador se modifica basándose al menos en parte en la medida de latencia. En el bloque 1855, solo se permite que elementos asociados con paquetes con determinadas características de clase o calidad de servicio entren en la lista enlazada, mientras que otros se bloquean, sobre la base, al menos en parte, de las características de la medida de latencia.
Haciendo referencia a continuación a la figura 19, un diagrama de bloques simplificado ilustra un ejemplo de un dispositivo 1900 de control de flujo y conformación de tráfico configurado para cambiar dinámicamente los márgenes de fiabilidad asociados con distintas ModCods en un sistema de ACM. En una realización, el dispositivo 1900 de control de flujo y conformación de tráfico puede ser el dispositivo 400 descrito en relación con la figura 4, que aplica una modulación y codificación adaptativa utilizando un margen de fiabilidad dinámicamente variable.
El dispositivo 1900 en esta realización incluye una unidad 1905 de procesamiento, una unidad 1910 de transmisión y una tabla 200 en la que se asignan ModCods a diversos intervalos de calidad de señal. Estos componentes (1905, 1910 y 200) pueden estar en comunicación entre sí, y pueden aplicarse, total o parcialmente, en hardware. Por lo tanto, pueden comprender uno o Application Specific Integrated Circuits (Circuitos integrados específicos de aplicación - ASIC) adaptados para realizar un subconjunto de las funciones aplicables en hardware. De forma alternativa, las funciones pueden realizarse mediante otras una o más unidades de procesamiento (o núcleos), en uno o más circuitos integrados. En otras realizaciones, pueden utilizarse otros tipos de circuitos integrados (p. ej., ASIC estructurados/de plataforma, Field Programmable Gate Arrays (Conjuntos de puertas programables en campo - FPGA) y otros CI semipersonalizados), que pueden programarse de cualquier forma conocida en la técnica. Cada una también puede aplicarse, total o parcialmente, con instrucciones incorporadas a un medio legible por ordenador, a las que se da formato para que ser ejecutadas por uno o más procesadores generales o de aplicación específica. La tabla 200 de ModCods/intervalos de calidad de señal puede incorporarse a una o más memorias, que pueden estar en, o fuera de, un chip.
Para la explicación, asumamos que el dispositivo 1900 es una puerta 115 de enlace dentro del sistema 100 de la figura 1. Sin embargo, obsérvese que, en otras realizaciones, el dispositivo 1300 puede utilizarse en cualquier número de aplicaciones de ACM distintas. Como se observa con respecto a otras realizaciones, cada terminal 130 puede medir la calidad de señal del enlace de servicio utilizando una cualquiera de una diversidad de métricas, y transmitir la medición al dispositivo 1900 de control de flujo y conformación de tráfico a través del trayecto de retorno. En otras realizaciones, el dispositivo 1900 también puede recibir los datos de calidad de señal de enlace de otras fuentes. El dispositivo 1900 puede entonces haber recibido métricas de calidad de señal para cada terminal de recepción (por ejemplo, la tabla 250 de direcciones/SNR de la figura 2B) y puede organizar estos datos en una o más memorias.
La unidad 1905 de procesamiento está configurada para asignar una ModCod distinta a cada paquete de datos después de que el paquete sea recibido por el dispositivo. Esta asignación se basa, al menos en parte, en una calidad de señal de un enlace al que está destinado el paquete respectivo. La unidad 1905 de procesamiento está configurada para utilizar un destino, junto con la estimación de calidad de señal, para identificar una ModCod para su uso para comunicarse con un terminal 130. Para ello, la unidad 1905 de procesamiento accede a una tabla 200 de ModCods, u otros mecanismos que correlacionan determinados intervalos de calidad de señal con diferentes ModCods.
De forma adicional, la unidad 1905 de procesamiento en esta realización está configurada para cambiar dinámicamente un intervalo de calidad de señal asociado a una o más ModCods. La unidad 1905 de procesamiento puede cambiar, o variar de cualquier otra forma, el intervalo de calidad de señal asociado a una ModCod para modificar un margen de fiabilidad para los paquetes de datos destinados a un enlace dentro de ese intervalo de calidad de señal. A modo de ejemplo, la unidad 1905 de procesamiento puede configurarse para aumentar la calidad de señal mínima de un intervalo particular cuando el tráfico es ligero, y disminuir la calidad de señal mínima de un intervalo particular cuando el tráfico es pesado. La unidad 1905 de procesamiento en esta realización también puede poseer la funcionalidad de las unidades (920, 1415) de margen descritas en otras realizaciones.
Pasando brevemente a la figura 20 para describir adicionalmente el alcance de esta terminología, se ilustra una representación lineal de un intervalo 2000 de valores de SNR. También se muestra el margen 2005 de fiabilidad para cada una de un número de ModCods. El límite inferior 2010 del valor de Es/No para una ModCod particular se muestra como el punto Rn en la figura 20. El límite inferior 2010 es una caracterización un tanto arbitraria, ya que puede calcularse de distintas formas. Para esta explicación, puede incluir cualquier límite identificado, necesario o sugerido de cualquier otra modo para el límite inferior para un valor de Es/No de una ModCod particular. También se muestra el límite inferior 2015 aplicado de un valor de Es/No, como puntos Mn en la figura 20, y es el límite inferior 2010 más un margen de fiabilidad para una ModCod particular. Un margen 2005 de fiabilidad es, por lo tanto, la diferencia entre un límite inferior 2010 y un límite inferior 2015 aplicado, y puede incluir cualquier margen ambiental, meteorológico, de aplicación u otro margen.
En diversas realizaciones de la invención, el margen de fiabilidad para una o más ModCods puede variarse dinámicamente. Consideremos, con fines ilustrativos, la ModCod22020. Consideremos en primer lugar un periodo de un tráfico relativamente bajo y, por lo tanto, una latencia baja. En un entorno como este puede haber un exceso de capacidad disponible y, por lo tanto, puede aumentarse el margen 2015 de fiabilidad (p. ej., a 4 dB) sin afectar a la latencia o al flujo. De este modo, el margen de fiabilidad puede aumentarse dinámicamente a medida que el tráfico se hace más ligero. Sin embargo, si hay una ráfaga repentina de un tráfico significativo a través del dispositivo 1900, puede aumentarse la demanda de flujo en el dispositivo 1900. Por lo tanto, el margen 2015 de fiabilidad puede reducirse dinámicamente a medida que aumenta el tráfico, bien en incrementos (por ejemplo, 4 dB, a 3 dB, a 2 dB, a 1 dB, a 0,5 dB), o de cualquier otra forma. Pueden utilizarse una serie de factores (latencia, flujo, tráfico anticipado, etc.) para controlar dinámicamente un margen de fiabilidad, como se explicará con mayor detalle más adelante. En una realización, el margen 2015 de fiabilidad es cero. En otra realización, el margen de fiabilidad es fijo, y los intervalos de calidad de señal pueden variar únicamente con los cambios en las condiciones meteorológicas o en otras condiciones ambientales.
Volviendo a la figura 19, la unidad 1905 de procesamiento puede realizar otras funciones además de ajustar dinámicamente el intervalo de calidad de señal asociado a distintas ModCods. Por ejemplo, la unidad 1905 de procesamiento puede identificar paquetes para su transmisión basándose en intervalos de calidad de señal modificados y según un orden de progresión definido. La unidad 1910 de transmisión puede transmitir paquetes según el orden de progresión definido y producir una salida 1915 de señal de radiodifusión. En una realización, el orden de progresión definido implica transmitir cada paquete de datos recibido en un intervalo de calidad de señal modificado dado asignado a una primera ModCod (p. ej., en secuencia del más antiguo al más nuevo), antes de incrementar a la siguiente ModCod de orden superior y transmitir cada paquete de datos recibido en un intervalo de calidad de señal asociado a una siguiente ModCod de orden superior (una vez más, quizá en secuencia del más antiguo al más nuevo), e incrementando en consecuencia a la ModCod de orden más alto. Una vez vaciada la ModCod de orden más alto, el proceso se repite a continuación comenzando por un intervalo de calidad de señal modificado asociado a la ModCod de orden más bajo. Obsérvese que, en una realización, el orden de progresión definido puede contemplar la transmisión de al menos un paquete de datos desde un primer intervalo de calidad de señal modificado y un paquete de datos, o fragmento, a partir de un segundo intervalo de calidad de señal modificado según la ModCod de orden inferior. Obsérvese también que la expresión “orden de progresión definido” puede incluir cualquiera de una serie de esquemas de reenvío de paquetes que pueden ordenar y dar formato a los paquetes para su reenvío basándose en la ModCod, la dirección de destino, el orden recibido, la antigüedad, etc., o quizá de forma aleatoria.
En una realización, el orden de progresión definido se interrumpe al expirar un temporizador (a continuación en la memoria, “ temporizador de interrupción” ), y se identifica y se transmite un paquete que supera una antigüedad umbral, y desde un intervalo de calidad de señal fuera de orden. En una realización, el paquete identificado es el paquete recibido más antiguo aún no transmitido (es decir, la antigüedad umbral es el segundo paquete más antiguo). El orden de progresión definido puede reiniciarse desde el paquete transmitido.
La antigüedad del paquete fuera de orden puede utilizarse en una diversidad de formas para modificar el control de los paquetes a través del dispositivo 1900. Además, la unidad 1905 de procesamiento y la unidad 1910 de transmisión pueden hacer otras mediciones de latencia y flujo. Puede medirse el retardo en el dispositivo 1900 asociado a determinadas funciones y componentes, o grupos de funciones y componentes. Este tipo de medición de latencia puede producirse para el paquete fuera de orden o para grupos seleccionados de otros paquetes. La medición de latencia puede, por ejemplo, ser simplemente un recuento de aquellos paquetes transmitidos que están por encima de una cierta antigüedad umbral. En la técnica se conoce una serie de mediciones de latencia y flujo de paquetes, pudiendo utilizarse cualquiera de ellas en la presente invención.
Además de las mediciones de latencia en el dispositivo, los dispositivos externos pueden proporcionar datos adicionales, sea localmente o desde la red. Por ejemplo, un network operations center (centro de operaciones de red - NOC) puede transmitir determinadas estadísticas de latencia o información de flujo a un dispositivo. Un NOC también puede proporcionar información acerca de un cambio futuro en el flujo de tráfico. En la técnica se conoce una diversidad de herramientas de red y de pruebas que pueden proporcionar estadísticas de flujo, mediciones de latencia y otra información de red a un dispositivo 1900.
La unidad 1905 de procesamiento puede utilizar la información de latencia, las estadísticas de flujo e información de red adicional descritas anteriormente para cambiar dinámicamente un intervalo de calidad de señal asociado a una ModCod dada y de este modo modificar el margen de fiabilidad asociado. En una realización, puede ajustarse el margen de fiabilidad sobre la base de la antigüedad del paquete fuera de orden identificado, por ejemplo: si T0 > 90 ms, establecer el margen de fiabilidad en 0,5 dB; si 90 ms > T0 > 60 ms, establecer el margen de fiabilidad en 1 dB; y si 60 ms > T0, establecer el margen en 2 dB. Pueden establecerse otros umbrales para modificar los intervalos de calidad de señal (es decir, para cambiar el margen de fiabilidad) sobre la base de la otra información de latencia, estadísticas de flujo e información adicional de red descritas anteriormente.
La unidad 1305 de procesamiento puede hacer uso de la información de latencia, de las estadísticas de flujo y de la información de red adicional descritas anteriormente en diversas otras formas. Esta puede utilizar toda la información recibida, o solo aspectos seleccionados de la información recibida. A modo de ejemplo, además de modificar el margen de fiabilidad, las reglas de filtrado para bloquear o permitir determinados paquetes pueden cambiarse para dar cuenta de la información de latencia, las estadísticas de flujo y/o información de red adicional descritas anteriormente. Por ejemplo, en periodos de tráfico más elevado, pueden aplicarse reglas de filtrado de prioridad de QoS/CoS. Además, puede modificarse el periodo del temporizador basándose en la información de la latencia, las estadísticas de flujo y/o información de red adicional descritas anteriormente. Por lo tanto, el periodo puede disminuirse cuando aumenta la latencia, para saltar con mayor regularidad a los paquetes restantes más antiguos.
La figura 21 es un diagrama de flujo que ilustra un proceso 2100 para controlar el flujo del tráfico de datos mediante la aplicación de una codificación y modulación adaptativa utilizando un margen de fiabilidad dinámico. El proceso puede ser llevado a cabo, por ejemplo, total o parcialmente por el dispositivo 1900 de la figura 19. En el bloque 2105 se asigna una ModCod distinta a cada uno de un número de intervalos de calidad de señal. En el bloque 2110 se hacen variar dinámicamente uno o más de los intervalos de calidad de señal para modificar un margen de fiabilidad para el suministro de paquetes de datos destinados a un enlace con una calidad de señal dentro del intervalo.
La figura 22 es un diagrama de flujo que ilustra un proceso 2200 alternativo para controlar el flujo del tráfico de datos mediante la modificación dinámica de determinados factores en un sistema de ACM. El proceso puede ser llevado a cabo, por ejemplo, total o parcialmente por el dispositivo 1900 de la figura 19. En el bloque 2205 se asigna una ModCod distinta a cada uno de un número de intervalos de calidad de señal. En el bloque 2210 se transmiten paquetes de datos en un orden de progresión definido, se transmite al menos un subconjunto según la ModCod asignada a su enlace de destino. En el bloque 2215, un temporizador expira y se identifica un paquete fuera de orden que supera una antigüedad umbral en el bloque 2220, interrumpiendo de ese modo el orden de progresión definido.
En el bloque 2225, la transmisión de los paquetes de datos se reinicia en un orden de progresión definido desde el paquete fuera de orden identificado. En paralelo con el bloque 2225, puede hacerse o recibirse un intervalo de mediciones de latencia y flujo en el bloque 2245. Por ejemplo, la antigüedad del paquete fuera de orden puede determinarse en el bloque 2230 mientras que, en otras realizaciones, pueden realizarse también otras mediciones de latencia asociadas con el paquete. En el bloque 2235 pueden medirse otros factores de latencia atribuidos a un flujo o al dispositivo 1900, y pueden compilarse o analizarse estadísticas de flujo adicionales. También pueden recibirse datos de red en el bloque 2240.
Este intervalo 2245 de mediciones de latencia y flujo puede utilizarse, total o parcialmente, para calcular una modificación de uno o más parámetros de entre un grupo de parámetros 2265 de conformación de tráfico y control de flujo. En el bloque 2250, el margen de fiabilidad atribuible a una o más ModCods puede cambiarse a la luz de las mediciones 2245 de latencia y flujo. En el bloque 2255, el periodo para el temporizador puede cambiarse a la luz de las mediciones 2245 de latencia y flujo. En el bloque 2260, pueden cambiarse las reglas de filtración relacionadas con el bloqueo o bloqueo selectivo basado en la QoS/CoS a la luz de las mediciones 2245 de latencia y flujo.
En el bloque 2270, tras la siguiente expiración del temporizador, se aplican las modificaciones a uno o más parámetros de entre un grupo de parámetros 2265 de conformación de tráfico y control de flujo. En el bloque 2275, la transmisión de los paquetes de datos se reinicia en un orden de progresión definido con los cambios aplicados.
Debería señalarse de nuevo que se pretende que los métodos, sistemas y dispositivos explicados anteriormente son meramente ilustrativos. Debe insistirse en que diversas realizaciones pueden omitir, sustituir o agregar diversos procedimientos o componentes según proceda. Por ejemplo, debería apreciarse que, en realizaciones alternativas, los métodos pueden llevarse a cabo en un orden distinto al descrito, y que pueden agregarse, omitirse o combinarse diversas etapas. Además, las características descritas con respecto a determinadas realizaciones pueden combinarse en diversas otras realizaciones. Pueden combinarse de forma similar distintos aspectos y elementos de las realizaciones. Además debería insistirse en que la tecnología evoluciona y, por lo tanto, muchos de los elementos son de naturaleza ilustrativa y no debería interpretarse de forma que limiten el ámbito de la invención.
En la descripción se dan detalles específicos para proporcionar una comprensión profunda de las realizaciones. Sin embargo, un experto en la técnica comprenderá que las realizaciones pueden ponerse en práctica sin estos detalles específicos. Por ejemplo, se han mostrado circuitos, procesos, algoritmos, estructuras y técnicas bien conocidos sin detalles innecesarios para evitar complicar las realizaciones.
También se señala que las realizaciones pueden describirse como un proceso que se representa como un diagrama de flujo o flujograma. Aunque estas pueden describir las operaciones como un proceso secuencial, muchas de las operaciones pueden realizarse en paralelo o de forma simultánea. Además, el orden de las operaciones puede reorganizarse. Un proceso se termina cuando sus operaciones se han completado, pero podría tener etapas adicionales no incluidas en la figura.
Además, según se describe en la presente memoria, la expresión “ memoria” puede representar uno o más dispositivos o componentes de los mismos para almacenar datos, incluyendo read only memory (memoria de solo lectura - ROM), random access memory (memoria de acceso aleatorio - RAM), RAM magnética, memoria central, medios de almacenamiento en disco magnético, medios de almacenamiento óptico, dispositivos de memoria flash, u otros medios legibles por máquina para almacenar información. La expresión “ medio legible por ordenador” incluye, aunque no de forma limitativa, dispositivos de almacenamiento portátiles o fijos, dispositivos de almacenamiento óptico, canales inalámbricos, una tarjeta SIM, otras tarjetas inteligentes y diversos otros medios capaces de almacenar, contener o portar instrucciones o datos.
Además, las realizaciones pueden aplicarse mediante hardware, software, firmware, middleware, microcódigo, lenguajes de descripción de hardware o cualquier combinación de los mismos. Cuando se aplica en software, firmware, middleware o microcódigo, el código de programa o los segmentos de código para realizar las tareas necesarias pueden almacenarse en un medio legible por máquina, tal como un medio de almacenamiento. Unos procesadores pueden realizar las tareas necesarias.
Habiendo descrito varias realizaciones, los expertos en la técnica reconocerán que pueden utilizarse diversas modificaciones, construcciones alternativas y equivalentes. También puede ser necesaria una serie de etapas antes de considerar los elementos anteriores. En consecuencia, la descripción anterior no debe interpretarse como limitante del ámbito de la invención, que se define mediante las siguientes reivindicaciones.

Claims (15)

  1. REIVINDICACIONES
    i. Un método para aplicar una codificación y modulación adaptativa de una señal de radiodifusión, comprendiendo el método:
    asociar un primer esquema (205) de modulación y codificación con un primer intervalo (210) de calidad de señal;
    asociar un segundo esquema de modulación y codificación de un orden superior al del primer esquema de modulación y codificación con un segundo intervalo de calidad de señal de una calidad mejor que la del primer intervalo de calidad de señal;
    recibir un primer paquete de datos destinado a un primer enlace dentro del primer intervalo (210) de calidad de señal y un segundo paquete de datos destinado a un segundo enlace dentro del segundo intervalo de calidad de señal;
    encapsular el primer paquete de datos y al menos una parte del segundo paquete de datos en una primera trama (320); y
    transmitir la primera trama (320) en la señal de radiodifusión según el primer esquema (205) de modulación y codificación,
    que se caracteriza por que la etapa de encapsulación comprende además:
    aplicar una política de encapsulación de paquetes de datos asociados a distintos esquemas de modulación y codificación en una trama que se va a transmitir según un esquema de modulación y codificación de orden más bajo de los distintos esquemas de modulación y codificación, aplicándose la política únicamente cuando no hay ningún otro paquete de datos restante asociado al esquema de modulación y codificación de orden más bajo, en donde la política comprende:
    determinar una longitud de un relleno potencial para el al menos un paquete de datos asociado a un primer esquema de modulación y codificación;
    determinar que no queda ningún paquete de datos asociado al primer esquema de modulación y codificación para llenar el relleno potencial; y
    llenar el relleno potencial con el paquete de datos asociado al segundo esquema de modulación y codificación.
  2. 2. El método de la reivindicación 1, que comprende además:
    variar al menos uno del primer intervalo de calidad de señal y el segundo intervalo de calidad de señal para modificar un margen de fiabilidad para los paquetes de datos destinados a un enlace dentro del intervalo de calidad de señal modificado.
  3. 3. El método de la reivindicación 1,
    que fragmenta el segundo paquete de datos en un primer fragmento y un segundo fragmento;
    que transmite el primer fragmento en la primera trama; y
    que transmite el segundo fragmento en una segunda trama según el segundo esquema de modulación y codificación.
  4. 4. El método de la reivindicación 1, que comprende además:
    transmitir tramas adicionales en la señal de radiodifusión según un orden de progresión definido; e interrumpir el orden de progresión definido al expirar un temporizador para transmitir, en una segunda trama, un paquete que supera una antigüedad umbral.
  5. 5. El método de la reivindicación 4, que comprende además:
    variar el periodo del temporizador basándose al menos en parte en un retardo asociado a la transmisión de las tramas adicionales.
  6. 6. El método de la reivindicación 1, en donde,
    la asociación del primer esquema de modulación y codificación al primer paquete de datos comprende situar el primer paquete de datos en una primera cola de reenvío de paquetes asociada al primer intervalo de calidad de señal; y
    la asociación del segundo esquema de modulación y codificación al segundo paquete de datos comprende situar el segundo paquete de datos en una segunda cola de reenvío de paquetes asociada al segundo intervalo de calidad de señal.
  7. 7. El método de la reivindicación 1, que comprende además:
    insertar, en una lista enlazada, un primer elemento correspondiente al primer paquete de datos y primera calidad de señal asociada;
    insertar, en la lista enlazada, un segundo elemento correspondiente al segundo paquete de datos y segunda calidad de señal asociada; e
    iterar a través de la lista enlazada para identificar un conjunto de paquetes de datos para su encapsulación y transmisión basándose al menos en parte en una calidad de señal asociada a cada elemento de la lista enlazada.
  8. 8. El método de la reivindicación 1, en donde la codificación y modulación adaptativa se lleva a cabo según una norma DVB-S2.
  9. 9. El método de la reivindicación 1, en donde la calidad de señal comprende al menos uno de una relación de señal a ruido, una relación de señal a ruido estimada, una tasa de error de bits, un nivel de potencia de recepción, y otro indicador de calidad de enlace de comunicación.
  10. 10. Un dispositivo (400) para aplicar una codificación y modulación adaptativa de una señal de radiodifusión, comprendiendo el dispositivo:
    una unidad (405) de clasificación configurada para:
    asociar un primer esquema (205) de modulación y codificación a un primer paquete que va a recibirse en un primer enlace definido por una calidad de señal en un primer intervalo (210) de calidad de señal;
    asociar un segundo esquema de modulación y codificación de orden superior a un segundo paquete que va a recibirse en un segundo enlace definido por una calidad de señal en un segundo intervalo de calidad de señal de una calidad mejor que la del primer intervalo de calidad de señal;
    una unidad (415) de encapsulación, acoplada con la unidad (405) de clasificación, y configurada para encapsular el primer paquete y el segundo paquete en una primera trama; y una unidad (420) de modulación y codificación, acoplada con la unidad (415) de encapsulación, y configurada para codificar y mapear la trama según el primer esquema (205) de modulación y codificación,
    que se caracteriza por que el dispositivo (400) está configurado para:
    aplicar una política de encapsulación de paquetes de datos asociados a distintos esquemas de modulación y codificación en una trama que se va a transmitir según un esquema de modulación y codificación de orden más bajo de los diferentes esquemas de modulación y codificación, aplicándose la política únicamente cuando no hay ningún paquete de datos restante asociado al esquema de modulación y codificación de orden más bajo, en donde la política comprende:
    determinar una longitud de un relleno potencial para el al menos un paquete de datos asociado a un primer esquema de modulación y codificación;
    determinar que no queda ningún paquete de datos asociado al primer esquema de modulación y codificación para llenar el relleno potencial; y
    llenar el relleno potencial con el paquete de datos asociado al segundo esquema de modulación y codificación.
  11. 11. El dispositivo de la reivindicación 10, en donde,
    la unidad de clasificación está configurada además para variar al menos uno del primer intervalo de calidad de señal y el segundo intervalo de calidad de señal para modificar un margen de fiabilidad para un paquete de datos transmitido destinado a un enlace dentro del intervalo de calidad de señal modificado.
  12. 12. El dispositivo de la reivindicación 10, en donde,
    la unidad de encapsulación está configurada además para:
    fragmentar el segundo paquete de datos en un primer fragmento y un segundo fragmento; encapsular el primer fragmento en la primera trama; y encapsular el segundo fragmento en una segunda trama que se va a transmitir según el segundo esquema de modulación y codificación.
  13. 13. El dispositivo de la reivindicación 10, en donde,
    la unidad de clasificación está configurada para agrupar los paquetes de datos asociados a distintos esquemas de modulación y codificación para su encapsulación en una trama que se va a transmitir según un esquema de modulación y codificación de orden más bajo de los diferentes esquemas de modulación y codificación, debiendo producirse la agrupación cuando no haya ningún paquete de datos restante asociado al esquema de modulación y codificación de orden más bajo.
  14. 14. El dispositivo de la reivindicación 10, que comprende además un transmisor configurado para:
    transmitir tramas adicionales en la señal de radiodifusión según un orden de progresión definido; e interrumpir el orden de progresión definido al expirar un temporizador para transmitir, en una segunda trama, un paquete que supera una antigüedad umbral.
  15. 15. El dispositivo de la reivindicación 14, en donde,
    el transmisor está configurado adicionalmente para variar el periodo del temporizador basándose al menos en parte en una latencia asociada con la transmisión de las tramas adicionales.
ES06827586T 2005-10-28 2006-10-30 Codificación y modulación adaptativa para la transmisión de datos de banda ancha Active ES2726017T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US73112205P 2005-10-28 2005-10-28
PCT/US2006/043258 WO2007051079A2 (en) 2005-10-28 2006-10-30 Adaptive coding and modulation for broadband data transmission

Publications (1)

Publication Number Publication Date
ES2726017T3 true ES2726017T3 (es) 2019-10-01

Family

ID=37806694

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06827586T Active ES2726017T3 (es) 2005-10-28 2006-10-30 Codificación y modulación adaptativa para la transmisión de datos de banda ancha

Country Status (8)

Country Link
US (7) US7680040B2 (es)
EP (2) EP1949584B1 (es)
CA (1) CA2627067C (es)
DK (1) DK1949584T3 (es)
ES (1) ES2726017T3 (es)
IL (5) IL191047A (es)
PL (1) PL1949584T3 (es)
WO (1) WO2007051079A2 (es)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162637A1 (en) 2002-07-25 2004-08-19 Yulun Wang Medical tele-robotic system with a master remote station with an arbitrator
US7813836B2 (en) 2003-12-09 2010-10-12 Intouch Technologies, Inc. Protocol for a remotely controlled videoconferencing robot
US8351468B2 (en) 2004-04-05 2013-01-08 Broadcom Corporation Method and apparatus for downloading content using channel bonding
KR100829342B1 (ko) * 2004-04-12 2008-05-13 더 디렉티브 그룹, 인크. 최소한 제1 신호와 제2 신호를 포함하는 통신 시스템 및 위성-기반 통신 시스템에서의 동일-채널 간섭을 최소화하기 위한 방법 및 장치
US7161988B2 (en) 2004-04-12 2007-01-09 The Directv Group, Inc. Method and apparatus for minimizing co-channel interference
US8213553B2 (en) * 2004-04-12 2012-07-03 The Directv Group, Inc. Method and apparatus for identifying co-channel interference
US8077963B2 (en) 2004-07-13 2011-12-13 Yulun Wang Mobile robot with a head-based movement mapping scheme
CN101027862B (zh) * 2004-10-29 2011-06-08 美国博通公司 对通信流量分级的多信道通信
US9198728B2 (en) 2005-09-30 2015-12-01 Intouch Technologies, Inc. Multi-camera mobile teleconferencing platform
US7986624B2 (en) * 2005-10-28 2011-07-26 Viasat, Inc. Quality of service enhancements for adaptive coding and modulation
PL1949584T3 (pl) * 2005-10-28 2019-09-30 Viasat, Inc. Adaptacyjne kodowanie i modulacja danych przesyłanych infrastrukturą szerokopasmową
JP4985641B2 (ja) * 2006-02-16 2012-07-25 日本電気株式会社 品質劣化箇所推定装置、品質劣化箇所推定方法、及び品質劣化箇所推定プログラム
DE102006021864A1 (de) * 2006-05-09 2007-11-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Übertragung von Datenpaketen in einem Breitband-Satellitenfunkkanal
DE102006025037B3 (de) 2006-05-26 2007-09-13 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Ressourcenzuteilung in einem interaktiven Satellitenfunknetz-Multimediasystem
US8849679B2 (en) 2006-06-15 2014-09-30 Intouch Technologies, Inc. Remote controlled robot system that provides medical images
CN101507164B (zh) * 2006-08-21 2012-10-10 艾利森电话股份有限公司 用于调整已编码媒体的传输的方法和装置
US7929568B2 (en) * 2006-08-25 2011-04-19 Gilat Satellite Networks, Inc. Packing data over an adaptive rate link
US8171380B2 (en) * 2006-10-10 2012-05-01 Marvell World Trade Ltd. Adaptive systems and methods for storing and retrieving data to and from memory cells
KR100886903B1 (ko) * 2006-12-06 2009-03-09 한국전자통신연구원 위성 송수신 시스템에서 효과적인 신호 송수신을 위한적응형 부호 변조 시스템 및 방법
US8843592B2 (en) 2006-12-20 2014-09-23 Omx Technology Ab System and method for adaptive information dissemination
US8565337B2 (en) 2007-02-07 2013-10-22 Valens Semiconductor Ltd. Devices for transmitting digital video and data over the same wires
US8131212B2 (en) 2007-04-23 2012-03-06 Elbit Systems Land and C41—Tadiran Ltd. Method and apparatus for compensation for weather-based attenuation in a satellite link
US7664143B2 (en) * 2007-05-01 2010-02-16 Harris Corporation Communications system using adaptive baseband injected pilot carrier symbols and related method
US9160783B2 (en) 2007-05-09 2015-10-13 Intouch Technologies, Inc. Robot system that operates through a network firewall
EP2153566A1 (en) * 2007-05-16 2010-02-17 Thomson Licensing Apparatus and method for encoding and decoding signals
WO2008149304A2 (en) * 2007-06-05 2008-12-11 Koninklijke Philips Electronics, N.V. Apparatus and method for performing transmission rate adaptation in wireless systems
US8068435B2 (en) * 2007-08-03 2011-11-29 Viasat, Inc. Rate adaptive modem
ES2704441T3 (es) * 2007-08-09 2019-03-18 Viasat Inc Redundancia para puerta de enlace virtual
CA2701688A1 (en) * 2007-10-15 2009-04-23 Thomson Licensing Apparatus and method for encoding and decoding signals
JP5232865B2 (ja) 2007-10-15 2013-07-10 トムソン ライセンシング デジタルテレビジョンシステムのプリアンブル
US7936707B2 (en) * 2007-10-26 2011-05-03 Harris Corporation Satellite communication bandwidth cross layer allocation system and related methods
EP2061167A3 (en) * 2007-11-19 2013-07-31 Gilat Satellite Networks, Ltd. Channel estimation for Digital Video Broadcasting via Satellite (DVB-S2)
US10875182B2 (en) 2008-03-20 2020-12-29 Teladoc Health, Inc. Remote presence system mounted to operating room hardware
US8179418B2 (en) 2008-04-14 2012-05-15 Intouch Technologies, Inc. Robotic based health care system
US8170241B2 (en) 2008-04-17 2012-05-01 Intouch Technologies, Inc. Mobile tele-presence system with a microphone system
EP2289177B1 (en) * 2008-04-22 2017-10-18 Advantech Wireless Ltd. Method and apparatus for compensation for weather-based attenuation in a satellite link
CA2721173C (en) 2008-04-22 2017-11-07 Elbit Systems Land And C41 - Tadiran Ltd. Method and apparatus for compensation for weather-based attenuation in a satellite link
US8010705B1 (en) 2008-06-04 2011-08-30 Viasat, Inc. Methods and systems for utilizing delta coding in acceleration proxy servers
US9193065B2 (en) 2008-07-10 2015-11-24 Intouch Technologies, Inc. Docking system for a tele-presence robot
US9842192B2 (en) 2008-07-11 2017-12-12 Intouch Technologies, Inc. Tele-presence robot system with multi-cast features
US8068423B2 (en) * 2008-09-09 2011-11-29 Ericsson Television, Inc Packet scheduling system for digital video broadcasting
US8340819B2 (en) 2008-09-18 2012-12-25 Intouch Technologies, Inc. Mobile videoconferencing robot system with network adaptive driving
US8996165B2 (en) 2008-10-21 2015-03-31 Intouch Technologies, Inc. Telepresence robot with a camera boom
US8411798B2 (en) * 2008-11-05 2013-04-02 Viasat, Inc. Reducing receiver power dissipation
PL3462638T3 (pl) * 2008-11-18 2020-07-27 Viasat Inc. Skuteczna sygnalizacja sterowania przez współdzielone kanały komunikacyjne o rozszerzonym zakresie dynamiki
US8463435B2 (en) 2008-11-25 2013-06-11 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US9138891B2 (en) 2008-11-25 2015-09-22 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US9369516B2 (en) * 2009-01-13 2016-06-14 Viasat, Inc. Deltacasting
US8849680B2 (en) 2009-01-29 2014-09-30 Intouch Technologies, Inc. Documentation through a remote presence robot
US8565249B2 (en) * 2009-02-10 2013-10-22 Telefonaktiebolaget L M Ericsson (Publ) Queue management system and methods
CN101800616B (zh) * 2009-02-10 2012-11-21 富士通株式会社 数据中继装置、通信装置和方法
US8483217B2 (en) 2009-03-10 2013-07-09 Viasat, Inc. Internet protocol broadcasting
US8804730B2 (en) 2009-04-17 2014-08-12 Viasat, Inc. Layer-2 extension services
US9276663B2 (en) 2009-04-17 2016-03-01 Viasat, Inc. Layer-2 connectivity from switch to access node/gateway
WO2010121217A1 (en) 2009-04-17 2010-10-21 Viasat, Inc. Mobility across satellite beams using l2 connectivity
US8379613B2 (en) 2009-04-17 2013-02-19 Viasat, Inc. Layer-2 connectivity from switch to access node/gateway
US8897920B2 (en) 2009-04-17 2014-11-25 Intouch Technologies, Inc. Tele-presence robot system with software modularity, projector and laser pointer
US8576859B2 (en) * 2009-06-17 2013-11-05 Viasat, Inc. ACM packet fetch and clustering
US11399153B2 (en) 2009-08-26 2022-07-26 Teladoc Health, Inc. Portable telepresence apparatus
US8384755B2 (en) 2009-08-26 2013-02-26 Intouch Technologies, Inc. Portable remote presence robot
US8516253B1 (en) 2010-01-18 2013-08-20 Viasat, Inc. Self-keyed protection of anticipatory content
US11154981B2 (en) 2010-02-04 2021-10-26 Teladoc Health, Inc. Robot user interface for telepresence robot system
US8670017B2 (en) 2010-03-04 2014-03-11 Intouch Technologies, Inc. Remote presence system including a cart that supports a robot face and an overhead camera
US9307003B1 (en) 2010-04-18 2016-04-05 Viasat, Inc. Web hierarchy modeling
US10343283B2 (en) 2010-05-24 2019-07-09 Intouch Technologies, Inc. Telepresence robot system that can be accessed by a cellular phone
US10808882B2 (en) 2010-05-26 2020-10-20 Intouch Technologies, Inc. Tele-robotic system with a robot face placed on a chair
US8908564B2 (en) * 2010-06-28 2014-12-09 Avaya Inc. Method for Media Access Control address learning and learning rate suppression
JP5581867B2 (ja) * 2010-07-15 2014-09-03 富士通株式会社 無線通信装置及びデータ割り当て方法
US9264664B2 (en) 2010-12-03 2016-02-16 Intouch Technologies, Inc. Systems and methods for dynamic bandwidth allocation
US9323250B2 (en) 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
CN104898652B (zh) 2011-01-28 2018-03-13 英塔茨科技公司 与一个可移动的远程机器人相互交流
CN102130954A (zh) * 2011-03-17 2011-07-20 华为技术有限公司 数据资源传输的方法和设备
US9912718B1 (en) 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
US9037638B1 (en) 2011-04-11 2015-05-19 Viasat, Inc. Assisted browsing using hinting functionality
US9456050B1 (en) 2011-04-11 2016-09-27 Viasat, Inc. Browser optimization through user history analysis
US9106607B1 (en) 2011-04-11 2015-08-11 Viasat, Inc. Browser based feedback for optimized web browsing
US10769739B2 (en) 2011-04-25 2020-09-08 Intouch Technologies, Inc. Systems and methods for management of information among medical providers and facilities
US9098611B2 (en) 2012-11-26 2015-08-04 Intouch Technologies, Inc. Enhanced video interaction for a user interface of a telepresence network
US20140139616A1 (en) 2012-01-27 2014-05-22 Intouch Technologies, Inc. Enhanced Diagnostics for a Telepresence Robot
US9125147B2 (en) * 2011-05-25 2015-09-01 Alcatel Lucent System and method for providing communication services
EP3633918B1 (en) 2011-06-14 2021-12-08 ViaSat, Inc. Transport protocol for anticipatory content
US10136165B2 (en) * 2011-09-14 2018-11-20 Mobitv, Inc. Distributed scalable encoder resources for live streams
US9407355B1 (en) 2011-10-25 2016-08-02 Viasat Inc. Opportunistic content delivery using delta coding
US9516524B2 (en) * 2011-10-25 2016-12-06 Mediatek, Inc. Transmitter assisted quality of service measurement
US8836751B2 (en) 2011-11-08 2014-09-16 Intouch Technologies, Inc. Tele-presence system with a user interface that displays different communication links
US8902278B2 (en) 2012-04-11 2014-12-02 Intouch Technologies, Inc. Systems and methods for visualizing and managing telepresence devices in healthcare networks
US9251313B2 (en) 2012-04-11 2016-02-02 Intouch Technologies, Inc. Systems and methods for visualizing and managing telepresence devices in healthcare networks
US9361021B2 (en) 2012-05-22 2016-06-07 Irobot Corporation Graphical user interfaces including touchpad driving interfaces for telemedicine devices
WO2013176758A1 (en) 2012-05-22 2013-11-28 Intouch Technologies, Inc. Clinical workflows utilizing autonomous and semi-autonomous telemedicine devices
US8432808B1 (en) 2012-06-15 2013-04-30 Viasat Inc. Opportunistically delayed delivery in a satellite network
US9306640B2 (en) * 2012-09-07 2016-04-05 Qualcomm Incorporated Selecting a modulation and coding scheme for beamformed communication
US9172495B1 (en) 2013-07-01 2015-10-27 Sprint Communications Company L.P. Dynamic modulation change while generating a MAC PDU in a LTE protocol wireless network
US9735859B1 (en) * 2013-11-27 2017-08-15 Vt Idirect, Inc. Method and apparatus for distributing addresses of communication devices within a satellite network
US10855797B2 (en) 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
US9893800B2 (en) * 2015-03-20 2018-02-13 Qualcomm Incorporated Method and apparatus for spectral efficient data transmission in satellite systems
EP3329612A1 (en) * 2015-07-31 2018-06-06 ViaSat, Inc. Flexible capacity satellite constellation
EP3859567A1 (en) 2015-10-20 2021-08-04 ViaSat Inc. Hint model updating using automated browsing clusters
US10069465B2 (en) 2016-04-21 2018-09-04 Communications & Power Industries Llc Amplifier control system
FR3052945B1 (fr) * 2016-06-16 2018-07-06 Thales Sa Procede ameliore de transmission de donnees par satellite, a tres haut debit
CN106101012B (zh) * 2016-07-06 2020-05-12 广州海格通信集团股份有限公司 一种卫星ip网关协议适配的方法
US10084536B1 (en) 2016-08-25 2018-09-25 Star Mesh LLC Radio system using satellites
US10312996B2 (en) * 2016-09-30 2019-06-04 Hughes Network Systems, Llc Systems and methods for using adaptive coding and modulation in a regenerative satellite communication system
US10270704B2 (en) * 2016-11-10 2019-04-23 Microsoft Technology Licensing, Llc. Throttling output with ongoing input
EP3361651A1 (en) * 2017-02-10 2018-08-15 Airbus Defence and Space Limited Ultra-low latency telecommunications system
US11862302B2 (en) 2017-04-24 2024-01-02 Teladoc Health, Inc. Automated transcription and documentation of tele-health encounters
US10483007B2 (en) 2017-07-25 2019-11-19 Intouch Technologies, Inc. Modular telehealth cart with thermal imaging and touch screen user interface
US11636944B2 (en) 2017-08-25 2023-04-25 Teladoc Health, Inc. Connectivity infrastructure for a telehealth platform
US10085200B1 (en) 2017-09-29 2018-09-25 Star Mesh LLC Radio system using nodes with high gain antennas
US10291316B1 (en) 2017-12-11 2019-05-14 Star Mesh LLC Data transmission systems and methods using satellite-to-satellite radio links
US10617299B2 (en) 2018-04-27 2020-04-14 Intouch Technologies, Inc. Telehealth cart that supports a removable tablet with seamless audio/video switching
EP3633999A1 (en) * 2018-10-05 2020-04-08 InterDigital CE Patent Holdings Method to be implemented at a device able to run one adaptive streaming session, and corresponding device
US11223418B2 (en) 2019-12-31 2022-01-11 Hughes Network Systems, Llc Multi-band satellite terminal estimating a second band based on first band link conditions
US11870543B2 (en) 2020-05-18 2024-01-09 Star Mesh LLC Data transmission systems and methods for low earth orbit satellite communications

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3636669C2 (de) * 1986-10-28 2001-08-16 Siemens Ag Anordnung zur Zufuhr von Aerosol zu den Luftwegen und/oder Lungen eines Patienten
AU5550694A (en) * 1992-11-06 1994-06-08 Pericle Communications Company Adaptive data rate modem
US5517495A (en) 1994-12-06 1996-05-14 At&T Corp. Fair prioritized scheduling in an input-buffered switch
US5586550A (en) 1995-08-31 1996-12-24 Fluid Propulsion Technologies, Inc. Apparatus and methods for the delivery of therapeutic liquids to the respiratory system
JP3301682B2 (ja) 1995-08-11 2002-07-15 松下電器産業株式会社 パケット出力装置
US5588550A (en) * 1995-10-10 1996-12-31 Pepsico, Inc. Compartmented container including closure with access to individual compartments
US5914946A (en) 1996-11-08 1999-06-22 Lucent Technologies Inc. TDM-based fixed wireless loop system
US5991812A (en) 1997-01-24 1999-11-23 Controlnet, Inc. Methods and apparatus for fair queuing over a network
US5917900A (en) 1997-02-07 1999-06-29 Mci Communications Corporation Remote data gateway
US6138012A (en) 1997-08-04 2000-10-24 Motorola, Inc. Method and apparatus for reducing signal blocking in a satellite communication system
US6035025A (en) * 1998-01-07 2000-03-07 National Telemanagement Corporation System and method for a prepaid bundled telecommunications account
FR2783431B1 (fr) 1998-09-23 2001-02-02 System Assistance Medical Nebuliseur permettant de delivrer un brouillard a un patient et procede de fonctionnement d'un tel nebuliseur
US6519636B2 (en) * 1998-10-28 2003-02-11 International Business Machines Corporation Efficient classification, manipulation, and control of network transmissions by associating network flows with rule based functions
US6885657B1 (en) * 1998-11-30 2005-04-26 Broadcom Corporation Network telephony system
US6804211B1 (en) 1999-08-03 2004-10-12 Wi-Lan Inc. Frame structure for an adaptive modulation wireless communication system
US7215650B1 (en) * 1999-08-16 2007-05-08 Viasat, Inc. Adaptive data rate control for narrowcast networks
AU4710501A (en) * 1999-12-03 2001-06-18 Broadcom Corporation Interspersed training for turbo coded modulation
US6990529B2 (en) * 2000-02-24 2006-01-24 Zarlink Semiconductor V.N., Inc. Unified algorithm for frame scheduling and buffer management in differentiated services networks
US6865393B1 (en) 2000-03-03 2005-03-08 Motorola, Inc. Method and system for excess resource distribution in a communication system
US6567375B2 (en) * 2000-03-13 2003-05-20 Lucent Technologies Inc. Method and apparatus for packet size dependent link adaptation for wireless packet
US6975655B2 (en) 2000-04-07 2005-12-13 Broadcom Corporation Method of controlling data sampling clocking of asynchronous network nodes in a frame-based communications network
US6385462B1 (en) * 2000-05-26 2002-05-07 Motorola, Inc. Method and system for criterion based adaptive power allocation in a communication system with selective determination of modulation and coding
US6765921B1 (en) * 2000-06-28 2004-07-20 Nortel Networks Limited Communications network
US7310678B2 (en) 2000-07-28 2007-12-18 Kasenna, Inc. System, server, and method for variable bit rate multimedia streaming
US6701129B1 (en) * 2000-09-27 2004-03-02 Nortel Networks Limited Receiver based adaptive modulation scheme
CA2723065C (en) * 2000-11-15 2013-11-19 Wi-Lan, Inc. Improved frame structure for a communication system using adaptive modulation
US7426687B1 (en) * 2001-01-04 2008-09-16 Omniture, Inc. Automatic linking of documents
EP1239637B1 (en) * 2001-03-09 2006-07-12 Vitesse Semiconductor Corporation Time based packet scheduling and sorting system
US7408948B2 (en) 2001-04-17 2008-08-05 Nokia Corporation Packet mode speech communication
US6845095B2 (en) * 2001-04-27 2005-01-18 Telefonaktiebolaget Lm Ericsson (Publ) Efficient header handling involving GSM/EDGE radio access networks
US7043210B2 (en) 2001-06-05 2006-05-09 Nortel Networks Limited Adaptive coding and modulation
US6549759B2 (en) 2001-08-24 2003-04-15 Ensemble Communications, Inc. Asymmetric adaptive modulation in a wireless communication system
WO2003026189A1 (en) * 2001-09-20 2003-03-27 Itt Manufacturing Enterprises, Inc. Methods and apparatus for satellite link throughput adaptation
WO2003055123A1 (en) * 2001-12-10 2003-07-03 Nortel Networks Limited Adaptive multi-mode harq system and method
US7111289B2 (en) * 2001-12-21 2006-09-19 Agere Systems, Inc. Method for implementing dual link list structure to enable fast link-list pointer updates
US6915477B2 (en) * 2001-12-28 2005-07-05 Lucent Technologies Inc. Delay sensitive adaptive quality control loop for rate adaptation
US7126996B2 (en) 2001-12-28 2006-10-24 Motorola, Inc. Adaptive transmission method
US7197276B2 (en) * 2002-03-15 2007-03-27 Broadcom Corporation Downstream adaptive modulation in broadband communications systems
US7289456B2 (en) * 2002-04-08 2007-10-30 Telcordia Technologies, Inc. Determining and provisioning paths within a network of communication elements
KR100911138B1 (ko) * 2002-04-25 2009-08-06 삼성전자주식회사 전력이 조절되는 적응 변조 및 코딩 방식의 이동통신시스템 및 그 방법
US7272144B2 (en) * 2002-06-26 2007-09-18 Arris International, Inc. Method and apparatus for queuing data flows
JP3741094B2 (ja) * 2002-09-30 2006-02-01 ブラザー工業株式会社 通信システム、通信端末、システム制御プログラムおよび端末制御プログラム
US7508785B2 (en) 2002-11-06 2009-03-24 Broadcom Corporation Downstream time domain based adaptive modulation for DOCSIS based applications
KR100524378B1 (ko) * 2002-11-20 2005-10-31 한국전자통신연구원 다중 빔 위성을 이용한 셀룰러 이동통신시스템에서의적응형 패킷 전송 방법
US7319669B1 (en) * 2002-11-22 2008-01-15 Qlogic, Corporation Method and system for controlling packet flow in networks
US20040141601A1 (en) * 2003-01-22 2004-07-22 Yigang Cai Credit reservation transactions in a prepaid electronic commerce system
US7408892B2 (en) * 2003-01-28 2008-08-05 Broadcom Corporation Upstream adaptive modulation in DOCSIS based applications
KR101014664B1 (ko) 2003-03-28 2011-02-16 삼성전자주식회사 복수의 데이터 스트림 간의 연속 재생을 보장하는 재생방법 및 그 재생 장치
US7535863B2 (en) * 2003-04-21 2009-05-19 Broadcom Corporation Method and system for adaptive modulation scheduling
US7310423B2 (en) 2003-04-24 2007-12-18 General Instrument Corporation Processing multiple encrypted transport streams
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7580355B2 (en) 2003-08-25 2009-08-25 Integrated Device Technology, Inc. Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
EP1528702B1 (en) * 2003-11-03 2008-01-23 Broadcom Corporation FEC (forward error correction) decoding with dynamic parameters
US7650379B2 (en) 2003-12-09 2010-01-19 Viasat, Inc. Method for channel congestion management
FI20040389A0 (fi) * 2004-03-11 2004-03-11 Nokia Corp Menetelmä ja laite datajoukkojen lähettämisen kontrolloimiseksi
US7209612B2 (en) * 2004-03-24 2007-04-24 Enablence Inc. Two-stage optical bi-directional transceiver
KR20050095307A (ko) * 2004-03-26 2005-09-29 삼성전자주식회사 무선 통신 시스템에서 패킷 데이터 스케줄링 장치 및 방법
US20080144493A1 (en) * 2004-06-30 2008-06-19 Chi-Hsiang Yeh Method of interference management for interference/collision prevention/avoidance and spatial reuse enhancement
US7457296B2 (en) * 2004-09-30 2008-11-25 Intel Corporation Method and apparatus for sorting packets in packet schedulers using a connected trie data structure
FR2877176B1 (fr) * 2004-10-22 2007-04-20 Agence Spatiale Europeenne Procede et dispositif pour ordonnancer et transmettre des paquets de donnees a partir d'un emetteur commun vers une pluralite d'utilisateurs partageant un canal de transmission coummun.
US7515566B2 (en) 2004-12-09 2009-04-07 Viasat, Inc. Partial mesh communication in hub based system
EP1862014B1 (en) 2005-03-21 2012-06-13 Newtec cy. Managing traffic in a satellite transmission system
US7986624B2 (en) 2005-10-28 2011-07-26 Viasat, Inc. Quality of service enhancements for adaptive coding and modulation
PL1949584T3 (pl) * 2005-10-28 2019-09-30 Viasat, Inc. Adaptacyjne kodowanie i modulacja danych przesyłanych infrastrukturą szerokopasmową
US7890985B2 (en) * 2006-05-22 2011-02-15 Microsoft Corporation Server-side media stream manipulation for emulation of media playback functions
TWI290817B (en) * 2006-06-12 2007-12-01 Power Quotient Int Co Ltd Business card type storage device
US20090218187A1 (en) * 2007-02-08 2009-09-03 Kyong-Soo Chung Tilted Push-Pull Wheeled Luggage with a Removable Front Swingable Wheel with an Elongated Neck for the Removable Front Swingable Wheel

Also Published As

Publication number Publication date
CA2627067C (en) 2010-02-16
DK1949584T3 (da) 2019-06-03
US8358657B2 (en) 2013-01-22
EP3567768A1 (en) 2019-11-13
US20070096788A1 (en) 2007-05-03
US20070097852A1 (en) 2007-05-03
IL191047A0 (en) 2008-12-29
IL220291A (en) 2013-03-24
EP1949584A2 (en) 2008-07-30
US20100118768A1 (en) 2010-05-13
IL220289A0 (en) 2012-07-31
IL220289A (en) 2013-03-24
US7689162B2 (en) 2010-03-30
IL220292A (en) 2013-03-24
IL220291A0 (en) 2012-07-31
US8072873B2 (en) 2011-12-06
IL220288A0 (en) 2012-07-31
CA2627067A1 (en) 2007-05-03
US20100172234A1 (en) 2010-07-08
US7684425B2 (en) 2010-03-23
WO2007051079A2 (en) 2007-05-03
EP1949584B1 (en) 2019-03-06
IL220292A0 (en) 2012-07-31
WO2007051079A3 (en) 2007-07-19
US20100128678A1 (en) 2010-05-27
US20070116151A1 (en) 2007-05-24
US20070116152A1 (en) 2007-05-24
IL191047A (en) 2012-08-30
PL1949584T3 (pl) 2019-09-30
IL220288A (en) 2013-03-24
US7680040B2 (en) 2010-03-16
US7675842B2 (en) 2010-03-09

Similar Documents

Publication Publication Date Title
ES2726017T3 (es) Codificación y modulación adaptativa para la transmisión de datos de banda ancha
US7986624B2 (en) Quality of service enhancements for adaptive coding and modulation
ES2881725T3 (es) Método para retransmisión parcial
ES2369676T3 (es) Procedimiento y aparato para implementar un coprocesador mac en un sistema de comunicaciones.
ES2279463T3 (es) Sistema de radiocomunicaciones de microondas de punto a punto.
ES2387991T3 (es) Datos de asistencia de planificación de señalización en un sistema celular de comunicaciones
ES2537341T3 (es) Configuración de memoria intermedia suave en un sistema de comunicaciones
ES2399743T3 (es) Dispositivo terminal en un sistema de comunicación móvil basado en agregación de portadora y método de informe del estado de la memoria intermedia del mismo
EP2412185B1 (en) Method and system for reducing header information in communication systems
US8576859B2 (en) ACM packet fetch and clustering
ES2285058T3 (es) Metodo para adaptacion de enlace radioelectrico en una red con acceso basado contienda.
ES2711354T3 (es) Aparatos, métodos y programas informáticos para un sistema de comunicación móvil que comprende un transceptor de estación base y un transceptor móvil
ES2784849T3 (es) Procedimiento para la optimización del tiempo de propagación en la transmisión de comunicaciones móviles de mensajes de datos, orientada a paquetes
ES2800289T3 (es) Agregación de paquetes en red en malla
US9036468B1 (en) Flow congestion management
KR20230005159A (ko) 데이터 송신 방식
ES2320648T3 (es) Metodo y aparato para la seleccion del esquema de transmision en base a las condiciones del canal y la longitud del mensaje.
CN115604870B (zh) 通信方法、终端设备及存储介质
JP7055204B2 (ja) 効率的な制御シグナリングの方法及びシステム