ES2781972T3 - Técnicas para el reordenamiento eficiente de paquetes de datos en escenarios de múltiples rutas - Google Patents
Técnicas para el reordenamiento eficiente de paquetes de datos en escenarios de múltiples rutas Download PDFInfo
- Publication number
- ES2781972T3 ES2781972T3 ES18157861T ES18157861T ES2781972T3 ES 2781972 T3 ES2781972 T3 ES 2781972T3 ES 18157861 T ES18157861 T ES 18157861T ES 18157861 T ES18157861 T ES 18157861T ES 2781972 T3 ES2781972 T3 ES 2781972T3
- Authority
- ES
- Spain
- Prior art keywords
- reordering
- queue
- specific
- data packets
- route
- 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
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000001514 detection method Methods 0.000 claims description 16
- 238000005259 measurement Methods 0.000 claims description 8
- 230000001052 transient effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 12
- 238000012163 sequencing technique Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 230000003068 static effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000172 allergic effect Effects 0.000 description 2
- 208000010668 atopic eczema Diseases 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/724—Admission control; Resource allocation using reservation actions during connection setup at intermediate nodes, e.g. resource reservation protocol [RSVP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/624—Altering the ordering of packets in an individual queue
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Un dispositivo (701) de cola de reordenamiento para un receptor (700) de múltiples rutas, comprendiendo el dispositivo (701) de cola de reordenamiento: una cola de reordenamiento (230), configurada para poner en cola paquetes de datos (208, 209, 210) numerados en secuencia que se reciben múltiples rutas (223) de un canal de múltiples rutas; y un controlador (702) de la cola de reordenamiento, configurado para reordenar los paquetes de datos (208, 209, 210) en la cola de reordenamiento (230), de acuerdo con un criterio de reordenamiento (703), en el que el criterio de reordenamiento (703) se basa en la numeración de secuencia específica de la ruta (400) de los paquetes de datos (208, 209, 210) y en la comparación del número de secuencia general (500) a través de las múltiples rutas (223), en el que los paquetes de datos (208, 209, 210) están numerados en la secuencia específica de la ruta (422) y en la secuencia general (421) específica, y en el que el controlador (702) de la cola de reordenamiento está configurado para detectar una pérdida de paquetes (402) en una ruta específica en base a la determinación de los números de secuencia general (411) y a los números de secuencia específicos de la ruta (410) de, al menos, dos paquetes (401, 403) de la ruta específica.
Description
DESCRIPCIÓN
Técnicas para el reordenamiento eficiente de paquetes de datos en escenarios de múltiples rutas
CAMPO TÉCNICO
La invención se refiere a técnicas para el reordenamiento eficiente de paquetes de datos en escenarios de múltiples rutas tales como el acceso híbrido. La invención se refiere, además, a un dispositivo de cola de reordenamiento para un receptor de múltiples rutas, a un receptor de múltiples rutas y a un método para reordenar paquetes de datos. En particular, la invención se refiere a mecanismos de reordenamiento eficientes para la transmisión de paquetes no fiables en escenarios de múltiples rutas.
ANTECEDENTES
El acceso híbrido (HA) combina, al menos, dos enlaces de red diferentes con la misma o diferente tecnología de red, por ejemplo, combina el acceso a través de la red fija con el acceso a través de la red celular, por ejemplo, tal como se muestra en la figura 1. Una posible solución para el HA es el Protocolo de conexión de túnel GRE, de acuerdo con N. Leymann y C. Heidemann y M. Zhang y B. Sarikaya y M. Cullen, “Huawei’s GRE Tunnel Bonding Protocol”, RFC n° 8157, mayo de 2017, que programa en la Capa 3 de OSI (IP), es decir, maneja paquetes, que no tienen estado y no son fiables. En el lado del emisor, se aplica una secuenciación antes de la programación. En el lado del receptor, se requiere una memoria intermedia de reordenamiento para garantizar que la secuencia de IP se realiza en el orden correcto, tal como se envió originalmente. Se supone que los paquetes faltantes se han perdido si la cola de reordenamiento se queda sin espacio o si un temporizador expira. Cada vez que aparece un hueco (paquete faltante) en la cola de reordenamiento, el flujo de salida se interrumpe durante un intervalo de tiempo estático que corresponde al tiempo de expiración del temporizador, por ejemplo, configurado mediante hardware aproximadamente a 100 ms. Este comportamiento conduce regularmente a picos de latencia, si las secuencias de paquetes en orden se alternan con paquetes faltantes. Las capas de OSI especialmente altas o la aplicación de extremo a extremo, que dependen de latencias de cambio constante o lento, reaccionan de manera alérgica, y pueden reducir la velocidad o suponer que el enlace se ha roto.
En principio, cada solución para acceso híbrido, respectivamente más genérica para la utilización de múltiples rutas, que funciona con protocolos no fiables, se ve afectada por el suministro fuera de tiempo y, potencialmente, hace uso de un mecanismo de reordenamiento para mitigar el problema. Los picos de latencia antes mencionados, introducidos por un mecanismo de reordenamiento tal como se describió anteriormente, pueden reducir significativamente el rendimiento y la transmisión de extremo a extremo.
El documento US2014/254351 A1 da a conocer un mecanismo mejorado de acuse de recibo y retransmisión, en el que las unidades de datos de protocolo (PDU - Protocol Data Units, en inglés) asociadas con un flujo de paquetes se transmiten con números de secuencia para soportar el reordenamiento y el acuse de recibo selectivo. Se puede utilizar un mensaje de acuse de recibo selectivo (SACK - Selective ACKnowledgement, en inglés) para indicar, al menos, un número de secuencia de una PDU perdida o dañada que el dispositivo de recepción no recibió correctamente. En respuesta al mensaje de SACK, la PDU perdida o dañada se retransmite a través de una ruta diferente de la red, diferente de la ruta utilizada para transmitir la PDU original.
El documento US2010/027419 A1 da a conocer un sistema para realizar una comunicación de datos inalámbrica a través de un conjunto de enlaces de comunicación inalámbrica que se originan/terminan en un conjunto de componentes que colaboran de un vehículo en movimiento a bordo. El sistema permite el acceso a Internet de alto rendimiento a bordo de vehículos en movimiento. El sistema transmite los paquetes de datos a lo largo de los enlaces de comunicación inalámbricos que son estimados en tiempo real para ofrecer un suministro eficiente de paquetes de datos.
COMPENDIO DE LA INVENCIÓN
El objeto de la presente invención es proporcionar un concepto para resolver el problema mencionado anteriormente, es decir, cómo transmitir eficientemente paquetes de datos a través de un canal de múltiples rutas.
La presente invención define un aparato de acuerdo con la reivindicación 1, un método de acuerdo con la reivindicación 14 y un medio no transitorio legible por ordenador de acuerdo con la reivindicación 15. Otras realizaciones se exponen en las reivindicaciones dependientes 2 a 13.
Otro objeto de la presente invención es introducir un concepto para un reordenamiento eficiente y fiable para la transmisión de paquetes no fiables en escenarios de múltiples rutas.
Los objetos anteriores y otros se consiguen mediante el asunto de las reivindicaciones independientes. Otras formas de implementación son evidentes a partir de las reivindicaciones dependientes, de la descripción y de las figuras.
Para superar el concepto de detectar paquetes perdidos por una expiración del tiempo estático o un desbordamiento de cola, lo que conduce a picos de latencia arbitrarios en el escenario de reordenamiento, se describen algunos
mecanismos nuevos en esta invención para detectar más rápidamente la pérdida de paquetes y reducir los picos de latencia.
Los métodos y sistemas presentados a continuación pueden ser de diversos tipos. Los elementos individuales descritos pueden ser realizados mediante componentes de hardware o software, por ejemplo, componentes electrónicos que pueden ser fabricados mediante diversas tecnologías e incluyen, por ejemplo, chips semiconductores, ASIC, microprocesadores, procesadores de señal digital, circuitos eléctricos integrados, circuitos electroópticos y/o componentes pasivos.
Los dispositivos, sistemas y métodos presentados a continuación son capaces de transmitir información a través de una red de comunicación. El término red de comunicación se refiere a la infraestructura técnica en la que tiene lugar la transmisión de señales. La red de comunicación comprende esencialmente la red de conmutación en la que la transmisión y la conmutación de las señales tienen lugar entre los dispositivos estacionarios y las plataformas de la red de radio móvil o red fija, y la red de acceso en la que la transmisión de las señales tiene lugar entre un dispositivo de acceso a la red y un terminal de comunicación. La red de comunicación puede comprender tanto componentes de una red de radio móvil como componentes de una red fija. En la red móvil, la red de acceso también se conoce como una interfaz aérea e incluye, por ejemplo, una estación base (NodoB, eNodoB, célula de radio) con antena móvil para establecer la comunicación con un terminal de comunicación tal como se describió anteriormente, por ejemplo, un teléfono móvil o un dispositivo móvil con adaptador móvil o terminal de máquina. En la red fija, la red de acceso incluye, por ejemplo, un DSLAM (Multiplexador de acceso de línea de abonado digital - Digital Subscriber Line Access Multiplexer, en inglés) para conectar los terminales de comunicación de múltiples participantes basados en cables. A través de la red de conmutación, la comunicación se puede transferir a otras redes, por ejemplo, a otros operadores de red, por ejemplo, redes en el extranjero.
En los sistemas de comunicaciones e informáticos, el modelo de interconexión de sistemas abiertos (modelo OSI) define un modelo conceptual que caracteriza y estandariza las funciones de comunicación sin tener en cuenta su estructura interna subyacente y tecnología. Su objetivo es la interoperabilidad de diversos sistemas de comunicación con protocolos estándar. El modelo divide un sistema de comunicación en capas de abstracción. La versión original del modelo definió siete capas: capa física (capa 1), capa de enlace de datos (capa 2), capa de red (capa 3), capa de transporte (capa 4), capa de sesión (capa 5), capa de presentación (capa 6) y la capa de aplicación (capa 7).
De acuerdo con un primer aspecto, la invención se refiere a un dispositivo de cola de reordenamiento para un receptor de múltiples rutas, comprendiendo el dispositivo de cola de reordenamiento: una cola de reordenamiento, configurada para poner en cola paquetes de datos numerados en secuencia que son recibidos a través de múltiples rutas de un canal de múltiples rutas; y un controlador de cola de reordenamiento, configurado para reordenar los paquetes de datos en la cola de reordenamiento de acuerdo con un criterio de reordenamiento, en donde el criterio de reordenamiento se basa, al menos, en uno de los siguientes: numeración de secuencia específica de la ruta de los paquetes de datos, comparación del número de secuencia general a través de las múltiples rutas, características específicas de la ruta, en particular, latencia, de las múltiples rutas.
Un dispositivo de cola de reordenamiento de este tipo se puede aplicar para permitir la transmisión eficiente de paquetes de datos a través de un canal de múltiples rutas debido al criterio de reordenamiento mencionado anteriormente que proporciona un reordenamiento eficiente y fiable para la transmisión de paquetes no fiables en escenarios de múltiples rutas. El criterio de reordenamiento proporciona una detección dinámica de paquetes perdidos y, por lo tanto, evita la utilización de una expiración del tiempo estático o un desbordamiento de cola tal como se ha descrito anteriormente. Al utilizar dicho dispositivo de cola de reordenamiento, se pueden evitar, o al menos, reducir, los picos de latencia arbitraria en el escenario de reordenamiento para detectar más rápidamente la pérdida de paquetes.
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, el controlador de cola de reordenamiento está configurado para detectar una pérdida de paquetes en una ruta específica de las múltiples rutas, en base a la detección, al menos, de dos paquetes, con números secuencia específicos de ruta no secuenciados en la cola de reordenamiento.
Esto proporciona la ventaja de que una pérdida de paquetes puede ser detectada más rápidamente, puesto que no es necesario esperar a que expire el tiempo estático ni se desborde la cola. Siempre que dos (o más) paquetes que estén en la cola de reordenamiento cuyos números de secuencia específicos de ruta (es decir, por cada ruta) no estén en secuencia, se puede detectar la pérdida de paquetes. Por lo tanto, el reordenamiento de paquetes se puede acelerar y la latencia de recepción disminuye.
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, los paquetes de datos están numerados en secuencia específica de la ruta y en secuencia específica general, y el controlador de cola de reordenamiento está configurado para detectar una pérdida de paquete en una ruta específica en base a la determinación de los números de secuencia general y/o de los números de secuencia específicos de ruta, al menos, de dos paquetes de la ruta específica.
Esto proporciona la ventaja de que una pérdida de paquetes en una ruta específica se puede detectar inmediatamente con la recepción de dos (o más) paquetes con números de secuencia de ruta que no están en secuencia. La verificación de los números de secuencia general mejora el procedimiento de detección de pérdida de paquetes. Esto da como resultado una detección más rápida de paquetes perdidos y evita los efectos de huecos debido a la falta de paquetes en la cola de reordenamiento y a la interrupción del flujo de salida con picos de latencia tal como se describió anteriormente.
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, los paquetes de datos de una ruta específica incluyen un número de secuencia general de un paquete de datos anterior de la ruta específica, y el controlador de cola de reordenamiento está configurado para detectar una pérdida de paquete en la ruta específica en base a la determinación de los números de secuencia general, al menos, de dos paquetes de la ruta específica.
Esto proporciona la ventaja de que cada paquete específico de la ruta indica el número de secuencia general de un paquete específico de la ruta, anterior; el controlador puede utilizar esta información para detectar una pérdida de paquetes en la ruta específica mediante la verificación de dos (o más) paquetes específicos de ruta. Esto da como resultado una detección más rápida de los paquetes perdidos y evita los efectos negativos de los huecos debido a la falta de paquetes en la cola de reordenamiento y a la interrupción del flujo de salida con picos de latencia tal como se ha descrito anteriormente.
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, los paquetes de datos están numerados en una secuencia general; y el controlador de cola de reordenamiento está configurado para detectar una pérdida de paquetes en base a la determinación de los números de secuencia general de los paquetes de datos recibidos en todas las rutas del canal de múltiples rutas.
Esto proporciona la ventaja de que no es necesaria ninguna secuenciación especial específica de la ruta en el lado del emisor, es decir, el emisor puede permanecer sin cambios. Mediante la evaluación del número de secuencia general de los paquetes a través de las rutas, se puede realizar la detección temprana de una pérdida de paquetes, evitando los efectos negativos de los huecos debido a la falta de paquetes en la cola de reordenamiento y a la interrupción del flujo de salida con picos de latencia tal como se describió anteriormente.
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, el controlador de cola de reordenamiento está configurado para detectar una pérdida de paquetes cuando en cada ruta del canal de múltiples rutas se reciben paquetes de datos con números de secuencia general más altos que un número de secuencia general faltante.
Esto proporciona la ventaja de que no es necesaria una secuenciación especial específica de la ruta en el lado del emisor, tal como se describió anteriormente, es decir, el emisor puede permanecer sin cambios. Mediante la evaluación del número de secuencia general de paquetes en todas las rutas, es posible la detección inmediata de un paquete de datos perdido. Por lo tanto, el reordenamiento de paquetes se puede acelerar y la latencia de recepción disminuye.
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, el controlador de cola de reordenamiento está configurado para igualar las características específicas de la ruta, en particular la latencia, de las múltiples rutas.
Esto proporciona la ventaja de que, igualando las características específicas de la ruta, el dispositivo de cola de reordenamiento se puede adaptar a las condiciones cambiantes de la red y proporcionar un reordenamiento de baja latencia independientemente de las condiciones de la red, es decir, latencias de ruta, calidades, tiempo de ida y vuelta, ancho de banda, etc.
En una forma de implementación a modo de ejemplo del dispositivo de la cola de reordenamiento, el controlador de la cola de reordenamiento está configurado para determinar, en base a las características específicas de la ruta de las múltiples rutas, para cada paquete de datos en cola en la cola de reordenamiento una vida útil, después de la cual tiene que salir de la cola de reordenamiento.
Esto proporciona la ventaja de que cada ruta puede ser ponderada por la vida útil. Por lo tanto, se pueden compensar diferentes condiciones de red. Por ejemplo, los paquetes que llegan a rutas de alta calidad pueden tener una vida útil más alta que los paquetes que llegan a rutas de baja calidad, para priorizar las rutas de red de alta calidad (o viceversa).
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, el controlador de cola de reordenamiento está configurado para determinar la vida útil en base a las diferencias de latencia entre las rutas del canal de múltiples rutas.
Esto proporciona la ventaja de que la vida útil se puede ajustar con el tiempo, por ejemplo, utilizando la señalización del transmisor/de recepción para determinar las latencias de las rutas, para que se adapten mejor a las condiciones de múltiples rutas. Por lo tanto, el reordenamiento de paquetes se puede acelerar y la latencia de recepción disminuye.
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, el controlador de cola de reordenamiento está configurado para determinar una diferencia de latencia para un conjunto de rutas en base a una latencia determinada para una ruta específica del conjunto de rutas y una latencia máxima determinada sobre las otras rutas del conjunto de rutas, en particular mediante la sustracción de la latencia de la ruta específica de la latencia máxima.
Un conjunto de rutas es una agregación de rutas de las múltiples rutas recibidas a través del canal de múltiples rutas. El conjunto de rutas puede incluir todas las rutas o solo un subconjunto de rutas de las múltiples rutas recibidas.
Esto proporciona la ventaja de que se puede calcular una vida útil individual para cada paquete después de lo cual se debe enviar fuera de la cola de reordenamiento. Por lo tanto, el reordenamiento se puede adaptar de manera eficiente a las condiciones cambiantes de la red.
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, el controlador de cola de reordenamiento está configurado para determinar las características específicas de la ruta en base a mediciones de tiempo de ida y vuelta, a mediciones de ancho de banda, a estimaciones, a una entrada externa y/o a un conocimiento.
Esto proporciona la ventaja de que el controlador de la cola de reordenamiento puede detectar fácilmente las características específicas de la ruta y, de este modo, equilibrar de manera eficiente la cola de reordenamiento para garantizar un reordenamiento eficiente y fiable en el lado del receptor.
En una forma de implementación a modo de ejemplo del dispositivo de cola de reordenamiento, el controlador de cola de reordenamiento está configurado para ajustar una expiración del tiempo, en particular un temporizador fuera de tiempo, de la cola de reordenamiento y/o un tamaño de cola, en particular un máximo por parámetro de memoria intermedia por cada flujo, de la cola de reordenamiento en base a las características específicas de la ruta.
Esto proporciona la ventaja de que los parámetros estáticos (originalmente) de la expiración del temporizador y la longitud de la memoria intermedia se pueden dinamizar para adaptarse a las condiciones cambiantes de la red y, por lo tanto, proporcionar un reordenamiento fiable y de baja latencia, particularmente para condiciones de red inestables y poco fiables.
De acuerdo con un segundo aspecto, la invención se refiere a un receptor de múltiples rutas, que comprende: un dispositivo de reordenamiento de cola de acuerdo con el primer aspecto de la invención, configurado para poner en cola y reordenar paquetes de datos recibidos a través de un canal de múltiples rutas; y un receptor, configurado para recibir los paquetes de datos reordenados.
Un receptor de múltiples rutas de este tipo garantiza la transmisión eficiente de paquetes de datos en escenarios de múltiples rutas. El criterio de reordenamiento del controlador de cola de reordenamiento proporciona un reordenamiento eficiente y fiable para la transmisión de paquetes no fiables. El criterio de reordenamiento proporciona una detección dinámica de paquetes perdidos y, por lo tanto, evita la utilización de una expiración del tiempo estático o un desbordamiento de cola. Mediante la utilización de un receptor de múltiples rutas de este tipo, se pueden evitar o, al menos, reducir los picos de latencia arbitraria en el reordenamiento, lo que permite una detección más rápida de la pérdida de paquetes.
De acuerdo con un tercer aspecto, la invención se refiere a un método para reordenar paquetes de datos numerados en secuencia, comprendiendo el método: recibir paquetes de datos a través de múltiples rutas de un canal de múltiples rutas; poner en cola los paquetes de datos en una cola de reordenamiento; y reordenar los paquetes de datos en la cola de reordenamiento de acuerdo con un criterio de reordenamiento, en donde el criterio de reordenamiento se basa, al menos, en uno de los siguientes: numeración de secuencia específica de la ruta de los paquetes de datos, comparación del número de secuencia general a través de las múltiples rutas, características específicas de la ruta, en particular latencia, de las múltiples rutas.
Un método de este tipo proporciona una transmisión eficiente de paquetes de datos a través de un canal de múltiples rutas debido al criterio de reordenamiento que permite un reordenamiento eficiente y fiable para la transmisión de paquetes no fiables en escenarios de múltiples rutas. El criterio de reordenamiento proporciona una detección dinámica de paquetes perdidos y, por lo tanto, evita la utilización de una expiración del tiempo estático o desbordamiento de cola. Mediante la utilización de dicho método, se pueden evitar o, al menos, reducir los picos de latencia arbitrarios en el escenario de reordenamiento, para detectar más rápidamente la pérdida de paquetes.
De acuerdo con un cuarto aspecto, la invención se refiere a un medio no transitorio legible por ordenador, en el que están almacenadas instrucciones informáticas que, cuando son ejecutadas por un ordenador, hacen que el ordenador realice el método de acuerdo con el tercer aspecto de la invención.
De acuerdo con un quinto aspecto, la invención se refiere a un producto de programa informático que comprende un código de programa para realizar el método de acuerdo con el cuarto aspecto de la invención, cuando es ejecutado en un ordenador o un procesador.
Las realizaciones de la invención pueden ser implementadas en hardware y/o software.
En esta invención se aplican los siguientes acrónimos:
DSL Línea de abonado digital (Digital Subscriber Line, en inglés)
GRE Encapsulado genérico de encaminamiento (Generic Routing Encapsulation, en inglés)
HA Acceso híbrido (Hybrid Access, en inglés)
IP Protocolo de Internet (Internet Protocol, en inglés)
LTE Evolución a largo plazo (Long Term Evolution, en inglés)
OSI Interconexión de sistema abierto (Open System Interconnection, en inglés)
QoE Calidad de la experiencia (Quality of Experience, en inglés)
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Se describirán otras realizaciones de la invención con respecto a las siguientes figuras, en las que:
La figura 1 muestra una topología de referencia 100 para acceso híbrido (HA);
la figura 2 muestra un diagrama esquemático que ilustra un mecanismo de secuenciación y reordenamiento de acceso híbrido 200;
la figura 3 muestra un diagrama esquemático que ilustra un dispositivo de recepción 300 con una cola de reordenamiento parametrizada de acuerdo con RFC 8157;
la figura 4 muestra un diagrama esquemático que ilustra un primer criterio de reordenamiento 400, de acuerdo con la invención, que se basa en la detección de pérdida de paquetes de ruta mediante una secuenciación de ruta adicional;
la figura 5 muestra un diagrama esquemático que ilustra un segundo criterio de reordenamiento 500, de acuerdo con la invención, que se basa en la comparación del número de secuencia general a través de las rutas para detectar la pérdida de paquetes;
la figura 6 muestra un diagrama esquemático que ilustra un tercer criterio de reordenamiento 600, de acuerdo con la invención, que se basa en el cálculo individual por paquete de caducidad de la cola de reordenamiento; la figura 7 muestra un diagrama esquemático que ilustra un receptor de múltiples rutas 700, de acuerdo con la invención; y
la figura 8 muestra un diagrama esquemático que ilustra un método 800 para la reordenación de paquetes de datos numerados en secuencia, de acuerdo con la invención.
DESCRIPCIÓN DETALLADA DE REALIZACIONES
En la siguiente descripción detallada, se hace referencia a los dibujos adjuntos, que forman parte de la invención, y en los que se muestran, a modo de ilustración, aspectos específicos en los que se puede colocar la presente invención. Se comprende que se pueden utilizar otros aspectos y se pueden hacer cambios estructurales o lógicos sin apartarse del alcance de la presente invención. La siguiente descripción detallada, por lo tanto, no debe ser tomada en un sentido limitativo, puesto que el alcance de la presente invención está definido por las reivindicaciones adjuntas.
Por ejemplo, se comprende que una invención en relación con un método descrito también puede ser válida para un dispositivo o sistema correspondiente configurado para llevar a cabo el método, y viceversa. Por ejemplo, si se describe una etapa específica de un método, un dispositivo correspondiente puede incluir una unidad para llevar a cabo la etapa de método descrita, incluso si dicha unidad no está descrita o ilustrada de manera explícita en las figuras. Además, se comprende que las características de los diversos aspectos a modo de ejemplo descritos en el presente documento pueden ser combinadas entre sí, a menos que se indique específicamente lo contrario.
La figura 1 muestra una topología 100 de referencia para acceso híbrido (HA). La topología 100 de referencia ilustra la zona de la red doméstica 110 con la red del cliente 11130 y la puerta de enlace doméstica con el cliente de 112 acceso híbrido, la red de operador 120 integrada con una variedad de redes de operadores 121, 122, 123, 124, 125, 126 y la zona de Internet 130 con la Internet 131. En las redes de operadores 121, 122, 123, 124, 125, 126 están implementados algoritmos y protocolos 127 de acceso híbrido para conectar el cliente 112 de acceso híbrido con el servidor 128 de acceso híbrido para conectarse a Internet 131.
El acceso híbrido (HA) combina, al menos, dos enlaces de red diferentes con la misma o diferente tecnología de red; por ejemplo, combina el acceso a través de la red fija 122 con el acceso a través de la red celular 121. La figura 1 muestra un escenario típico para HA, pero también puede ser implementado como una solución de libre transmisión
(OTT - Over The Top, en inglés). El cliente HA 112 tiene, al menos, dos interfaces de acceso, una, por ejemplo, para el acceso a la línea de abonado digital (DSL - Digital Subscriber Line, en inglés) 122 y otra, por ejemplo, para el acceso a la red 121 de evolución a largo plazo (LTE - Long Term Evolution, en inglés). Las consideraciones sobre los algoritmos de HA se centran en una solución distribuida de cliente y servidor con funcionalidad de cliente en la puerta de enlace residencial y funcionalidad de servidor (servidor de HA 128) en un centro de datos en la red del operador 126 o en la Internet 131 pública. No obstante, la utilización de múltiples rutas se puede aplicar, asimismo, directamente, en dispositivos finales, sin tener dispositivos intermedios en representación de los mismos.
Una posible solución para el HA es el protocolo de conexión de túnel GRE de N. Leymann y C. Heidemann y M. Zhang y B. Sarikaya y M. Cullen, “Huawei’s GRE Tunnel Bonding Protocol” RFC n° 8157, mayo de 2017, que programa en la Capa 3 de oSl (IP). El protocolo de conexión de túnel GRE maneja los paquetes, que no tienen estado y no son fiables, pero tiene que asegurarse de que en el lado del receptor la secuencia de IP se traiga en el orden correcto en la forma en que se envió originalmente, por ejemplo, mediante la utilización de la secuencia de acceso híbrido y el mecanismo de reordenamiento 200, tal como se muestra en la figura 2. De lo contrario, pueden aparecer problemas importantes de QoE si se produce la codificación introducida por la programación de múltiples rutas. Para resolver este problema, la secuencia se aplica antes de la programación en el lado del emisor, que luego se utiliza en el lado del receptor en una llamada memoria intermedia de reordenamiento, tal como se muestra en la figura 3.
La figura 2 muestra un diagrama esquemático que ilustra un mecanismo de secuenciación y reordenamiento de acceso híbrido 200.
Un generador 220 genera paquetes de datos 217, 216 que atraviesan un módulo de secuenciación 221 que asigna a cada paquete 215 un número de secuencia respectivo. Los paquetes de datos secuenciados 212, 213, 214 se pasan a un programados 222 que programa los paquetes de datos a múltiples rutas 223 de un canal de múltiples rutas. Los paquetes de datos ordenados en la secuencia 212, 213, 214 se transmiten por el canal de múltiples rutas y se ponen en cola en una cola de reordenamiento 230 en el lado del receptor, donde llegan a una entrada 231 de la cola de reordenamiento 230. En la cola de reordenamiento 230 los paquetes de datos son reordenados, y los paquetes de datos reordenados 201 son proporcionados en una salida 232 al receptor 233.
La figura 3 muestra un diagrama esquemático que ilustra un dispositivo de recepción 300 con una cola de reordenamiento parametrizada, de acuerdo con RFC 8157. El dispositivo de recepción 300 incluye una cola de reordenamiento 230 y un receptor 233. La cola de reordenamiento 230 tiene una entrada 231 que recibe paquetes de datos que pueden estar fuera de secuencia. La longitud de la memoria intermedia de la cola de reordenamiento se indica como MAX_PERFLOW_BUFFER 302. Los paquetes de datos recibidos se almacenan en la cola de reordenamiento junto con una marca de tiempo. Por ejemplo, el paquete faltante 4 se omite, si no llega, de la cola de reordenamiento 230, si la siguiente condición 301 es verdadera: (marca de tiempo del paquete 5 introducida OUTOFORDER_TIMER >= hora actual) O (carga de la cola > MAX_PERFLOW_BUFFER).
Eso significa que falta un paquete, por ejemplo, el paquete con el número de secuencia 4 está omitido de la cola de reordenamiento 230 si la marca de tiempo introducida del paquete con el número de secuencia 5, más el valor de OUTOFORDER_TIMER, es mayor o igual que la hora actual; o si una carga de cola de la cola de reordenamiento 230, es mayor que el valor de MAX_PERFLOW_BUFFER. Ambos parámetros, OUTOFORDER_TIMER y MAX_PERFLOW_BUFFER, pueden ser valores o constantes predefinidos. En la salida 232 de la cola de reordenamiento 230, se proporcionan paquetes de datos reordenados 201 al receptor 233.
El dispositivo de recepción 300 que se muestra en la figura 3 ordena los paquetes en base al número de secuencia asignado del lado del emisor. Se supone que los paquetes faltantes se pierden, si la cola de reordenamiento 230 se queda sin espacio (MAX_PERFLo W_Bu Ff ER o un temporizador expira (Ou To FORDER_TIMER). Cada vez que aparece un espacio (paquete faltante) en la cola de reordenamiento 230, el flujo de salida 201 se interrumpe durante el tiempo del OUTOFORDER_TIMER. La figura 3 ilustra este comportamiento, que, regularmente, conduce a picos de latencia, determinados por el OUTOFORDER_TIMER, si las secuencias de paquetes en orden se alternan con paquetes faltantes. Especialmente, las capas de OSI más altas o la aplicación de extremo a extremo, que se basan en un constante o lento cambio de latencias, reacciona de manera alérgica y puede reducir la velocidad o suponer que el enlace está roto.
Para superar el concepto de detectar paquetes perdidos por una expiración del tiempo estático o un desbordamiento de cola, lo que conduce a picos de latencia arbitrarios en el escenario del reordenamiento, a continuación, se introducen y describen algunos mecanismos nuevos con respecto a las figuras 4 a 8, para detectar más rápidamente la pérdida de paquetes y reducir de este modo los picos de latencia.
Para los siguientes dos criterios de reordenamiento 400, 500 presentados que se describen a continuación con respecto a las figuras 4 y 5, se supone que la codificación de paquetes en una sola ruta no puede suceder. Especialmente en entornos controlados que pueden estar garantizados. Además, se supone que la secuencia comienza desde un valor bajo y aumenta con el número de paquetes. Es solo por razones ilustrativas y, en la realidad, puede ser diferente.
La figura 4 muestra un diagrama esquemático que ilustra un primer criterio de reordenamiento 400, de acuerdo con la invención, que se basa en la detección de pérdida de paquetes de ruta mediante la secuenciación de una ruta adicional. El primer criterio de reordenamiento 400 se ilustra con un transmisor de múltiples rutas que incluye un generador 220, un módulo de secuencia general 421, un programador 222 y un módulo de secuencia por cada ruta 422.
El generador 220 genera paquetes de datos 217, 216 que atraviesan el módulo de secuencia general 421 que asigna a cada paquete 215 un número de secuencia general respectivo. Los paquetes de datos secuenciados 212, 213, 214 se pasan al programador 222, que programa los paquetes de datos a múltiples rutas 223 de un canal de múltiples rutas. En cada ruta, un módulo de secuenciación por cada ruta 422 asigna a cada paquete un número de secuencia por cada ruta. Por ejemplo, a los paquetes de datos 401,402, 403 en la ruta n (por ejemplo, n = 2) se les asignan los números de secuencia de ruta 1,2 y 3 y los números de secuencia general 8, 9, 10; mientras que, al paquete de datos 408 en la ruta 1, se le asigna un número de secuencia de ruta 8 y un número de secuencia general 11. Un número de secuencia general es un número de secuencia único para todos los paquetes; un número de secuencia por cada ruta (también denominado número de secuencia específico de la ruta) es un número de secuencia que es único para cada ruta.
Los paquetes de datos ordenados en la secuencia 401,402, 403, 408 (con el número de secuencia específico de la ruta 410 y el número de secuencia general 411) se transmiten a través del canal de múltiples rutas y se reciben en el lado del receptor, donde se puede llevar a cabo una detección inmediata de pérdida de paquetes 412. En este ejemplo, el paquete 402 (número de secuencia general 9 y número de secuencia por ruta 2) se pierde. Con la recepción del paquete 403 (número de secuencia general 10 y número de secuencia por ruta 3) se puede detectar una pérdida de paquete, porque el número de secuencia de ruta, que es 3, indica una pérdida de paquete debido a la recepción del paquete 401 con la secuencia de ruta número 1.
El primer criterio de reordenamiento 400 extiende la secuencia de una secuencia general a una secuencia adicional por ruta. Con esto, se puede verificar la pérdida de paquetes en el flujo de paquetes en una sola ruta, por ejemplo, si se envían tres paquetes (1,2, 3) 401,402, 403 en una sola ruta y el paquete 402 con la secuencia de ruta N° 2 falla, se puede detectar de manera fácil e inmediata cuando el paquete 403 con la secuencia de ruta N° 3 llega, véase la figura 4. Una solución equivalente es incluir el número de secuencia general 411 del paquete anterior enviado en la misma ruta.
La figura 5 muestra un diagrama esquemático que ilustra un segundo criterio de reordenamiento 500, de acuerdo con la invención, que se basa en la comparación del número de secuencia general a través de las rutas para detectar la pérdida de paquetes.
El segundo criterio de reordenamiento 500 se ilustra con un transmisor de múltiples rutas que incluye un generador 220, un módulo de secuenciación 221, que puede corresponder a un módulo de secuenciación general 421, tal como se describió anteriormente con respecto a la figura 4, y un programador 222.
El generador 220 genera paquetes de datos 217, 216 que atraviesan el módulo de secuenciación 221 que asigna a cada paquete 215 un número de secuencia respectivo. Los paquetes de datos secuenciados 212, 213, 214 se pasan al programador 222, que programa los paquetes de datos a múltiples rutas 223 de un canal de múltiples rutas.
Los paquetes de datos ordenados en secuencia 208, 209, 210, 211 (con los números de secuencia 8, 9, 10, 11) se transmiten a través de un canal de múltiples rutas y se reciben en el lado del receptor, donde se puede llevar a cabo la detección inmediata de pérdida de paquetes 501. En este ejemplo, el paquete 209 con la secuencia (general) número 9 se pierde. Con la recepción de los paquetes 210, 211 en la ruta 2 y la ruta 1 (números de secuencia general 10 y 11) se puede detectar una pérdida de paquetes, porque la secuencia de ruta número 11 en la ruta 1 y la secuencia de ruta número 10 en la ruta 2 indica pérdida.
El segundo criterio de reordenamiento 500 se puede aplicar para detectar la pérdida inmediata de paquetes comparando los números de secuencia general de los diferentes flujos, tal como se muestra en la figura 5. Cuando en todas las rutas se producen números de secuencia más altos que los posibles faltantes, los posibles faltantes se pierden. Para ilustración, la figura 5 se muestra con dos rutas; por supuesto, también se pueden implementar otras rutas.
La figura 6 muestra un diagrama esquemático que ilustra un tercer criterio de reordenamiento 600, de acuerdo con la invención, que se basa en el cálculo individual, por cada paquete, de la expiración de la cola de reordenamiento.
El tercer criterio de reordenamiento 600 se ilustra con un receptor de múltiples rutas que incluye una cola de reordenamiento 230 y un receptor 233, por ejemplo, de acuerdo con la descripción de la figura 3.
La cola de reordenamiento 230 tiene una entrada 231 que recibe paquetes de datos que pueden estar fuera de secuencia. Una longitud de memoria temporal de la cola de reordenamiento 230 se puede denotar como MAX_PERFLOW_BUFFER. Los paquetes de datos recibidos se almacenan en la cola de reordenamiento junto con una vida útil. Por ejemplo, el paquete 4 se omite de la cola de reordenamiento 230 si la siguiente condición 601 es verdadera: (vida útil del paquete 5 >= hora actual). Eso significa que falta un paquete, por ejemplo, el paquete con la secuencia número 4 se omite de la cola de reordenamiento 230 si su vida útil es mayor o igual que la hora actual. La vida útil se puede determinar en base a una diferencia de latencia 615 entre dos rutas 611,612. En este ejemplo, solo se ilustran dos rutas 611, 612 de un canal de múltiples rutas. Sin embargo, el canal de múltiples rutas puede tener más de dos rutas. En este ejemplo, en la primera ruta se determina una latencia 613 de 40 ms, mientras que en la segunda ruta 612 se determina una latencia de 60 ms. Por lo tanto, la diferencia de latencia 615 es de 20 ms. Para la ruta 1, la vida útil se puede determinar de acuerdo con la siguiente relación: vida útil = marca de tiempo introducida 20 ms (+ compensación). Para la ruta 2, la vida útil se puede determinar de acuerdo con la siguiente relación: vida útil = marca de tiempo introducida (+ compensación). En la salida 232 de la cola de reordenamiento 230, se proporcionan paquetes de datos reordenados 201 al receptor 233.
En el tercer criterio de reordenamiento 600, la expiración del tiempo, por ejemplo, OUTOFORDER_TIMER de HA y/o el tamaño de la cola con MAX_PERFLOW_BUFFER (tal como se describió anteriormente con respecto a la figura 3), se pueden configurar dinámicamente. Por ejemplo, en base a mediciones del tiempo de ida y vuelta, mediciones de ancho de banda, estimaciones, entrada externa o conocimiento, este parámetro se puede ajustar con el tiempo utilizando la señalización del transmisor/receptor, para que se adapte mejor a las condiciones de múltiples rutas. Especialmente la diferencia de latencia 615 entre las rutas 611, 612, que tiene que ser igualada mediante el mecanismo de reordenamiento, es un parámetro clave, y varía con las condiciones cambiantes de la red. La diferencia de latencia 615 se puede construir tomando la latencia de ruta actual (por ejemplo, 613) y la latencia de ruta más alta (por ejemplo, 614) del conjunto de rutas 611,612 activo y restando el 613 actual del 614 más alto. Con eso, se puede calcular una vida útil individual para cada paquete, después de lo cual, se debe enviar fuera de la cola de reordenamiento 230, tal como se muestra en la figura 6.
Todos los criterios de reordenamiento 400, 500, 600 tal como se describe en las figuras 4, 5 y 6 se pueden combinar de manera arbitraria. El mayor beneficio se puede obtener combinándolos todos juntos.
La figura 7 muestra un diagrama esquemático que ilustra un receptor 700 de múltiples rutas de acuerdo con la descripción. El receptor 700 de múltiples rutas incluye un dispositivo 701 de cola de reordenamiento que está configurado para poner en cola y reordenar los paquetes de datos 208, 209, 210 recibidos a través de un canal de múltiples rutas; y un receptor 233, que está configurado para recibir los paquetes de datos reordenados 201.
El dispositivo 701 de cola de reordenamiento utilizado con el receptor 700 de múltiples rutas comprende una cola de reordenamiento 230, por ejemplo, tal como se describió anteriormente con respecto a las figuras 2 a 6, y un controlador 702 de la cola de reordenamiento. La cola de reordenamiento 230 está configurada para poner en cola los paquetes de datos 208, 209, 210 que están numerados en secuencia y que se reciben a través de múltiples rutas 223 del canal de múltiples rutas. El controlador 702 de la cola de reordenamiento está configurado para reordenar los paquetes de datos 208, 209, 210 en la cola de reordenamiento 230 de acuerdo con un criterio de reordenamiento 703, por ejemplo, un criterio de reordenamiento 400, 500, 600, tal como se describió anteriormente con respecto a las figuras 4 a 6. El criterio de reordenamiento 703 se basa en uno, o una combinación, de los siguientes criterios: numeración de secuencia específica de la ruta 400 de los paquetes de datos 208, 209, 210, comparación del número de secuencia general 500 a través de las múltiples rutas 223, características específicas de la ruta 600, en particular latencia, de las múltiples rutas 223.
El controlador 702 de la cola de reordenamiento puede estar configurado para detectar una pérdida de paquetes 402 en una ruta específica de las múltiples rutas 223 en base a la detección de, al menos, dos paquetes 401, 403 con números de secuencia específicos de la ruta 410, no secuenciados, en la cola de reordenamiento 230, por ejemplo, tal como se describió anteriormente con respecto a la figura 4.
En una implementación a modo de ejemplo, los paquetes de datos 208, 209, 210 están numerados en la secuencia específica de la ruta 422 y en la secuencia general 421 específica, y el controlador 702 de la cola de reordenamiento está configurado para detectar una pérdida de paquete 402 en una ruta específica en base a la determinación de los números de secuencia general 411 y/o los números de secuencia específicos de la ruta 410 de, al menos, dos paquetes 401,403 de la ruta específica, por ejemplo tal como se describió anteriormente con respecto a la figura 4.
En una implementación a modo de ejemplo, los paquetes de datos 208, 209, 210 de una ruta específica pueden incluir un número de secuencia general 411 de un paquete de datos anterior de la ruta específica, y el controlador 702 de la cola de reordenamiento puede estar configurado para detectar una pérdida de paquete 402 en la ruta específica en base a la determinación de los números de secuencia general 411 de, al menos, dos paquetes de la ruta específica, por ejemplo, tal como se describió anteriormente con respecto a la figura 4.
En una forma de implementación a modo de ejemplo, los paquetes de datos 401,402, 403 pueden estar numerados en una secuencia general 221; y el controlador 702 de la cola de reordenamiento puede estar configurado para detectar una pérdida de paquetes 209 en base a la determinación de los números de secuencia general 210, 211 de los paquetes de datos recibidos en todas las rutas del canal de múltiples rutas, por ejemplo, tal como se describió anteriormente con respecto a la figura 5. El controlador 702 de la cola de reordenamiento puede detectar una pérdida de paquetes 209 cuando en cada ruta de los paquetes de datos del canal de múltiples rutas 210, 211 se reciben números de secuencia general más altos que un número de secuencia general faltante, por ejemplo, tal como se describió anteriormente con respecto a la figura 5.
El controlador 702 de la cola de reordenamiento puede estar configurado para igualar las características específicas de la ruta, en particular, la latencia 613, 614, de las múltiples rutas, por ejemplo, tal como se describió anteriormente con respecto a la figura 6.
El controlador 702 de la cola de reordenamiento puede estar configurado para determinar, en base a las características específicas de la ruta 613, 614 de las múltiples rutas 223, para cada paquete de datos en cola en la cola de reordenamiento 230, una vida después de la cual tiene que salir 601, es decir, se omite, de la cola de reordenamiento 230, por ejemplo, tal como se describió anteriormente con respecto a la figura 6. El controlador 702 de la cola de reordenamiento puede determinar la vida útil en base a las diferencias de latencia 615 entre las rutas 223 del canal de múltiples rutas, por ejemplo, tal como se describió anteriormente con respecto a la figura 6. El controlador 702 de la cola de reordenamiento puede determinar una diferencia de latencia 615 para un conjunto de rutas en base a una latencia 613 determinada para una ruta específica del conjunto de rutas y a una latencia máxima 614 determinada sobre las otras rutas del conjunto de rutas, en particular, restando la latencia 613 de la ruta específica de la latencia máxima 614, por ejemplo, tal como se describió anteriormente con respecto a la figura 6.
El controlador 702 de la cola de reordenamiento puede determinar las características específicas de la ruta 613, 614 en base a mediciones del tiempo de ida y vuelta, mediciones de ancho de banda, estimaciones, entrada externa y/o conocimiento.
El controlador 702 de la cola de reordenamiento puede estar configurado para ajustar una expiración del tiempo, en particular un temporizador fuera de tiempo 301, de la cola de reordenamiento 230, por ejemplo, tal como se describió anteriormente con respecto a la figura 3 y/o un tamaño de cola, en particular un parámetro máximo de la memoria intermedia de flujo 302, por ejemplo, tal como se describió anteriormente con respecto a la figura 3, de la cola de reordenamiento 230 en base a las características específicas de la ruta 613, 614, por ejemplo, tal como se describió anteriormente con respecto a la figura 6.
La figura 8 muestra un diagrama esquemático que ilustra un método 800 para reordenar paquetes de datos numerados en secuencia, de acuerdo con la invención.
El método 800 incluye recibir 801 paquetes de datos 208, 209, 210 a través de múltiples rutas 223 de un canal de múltiples rutas, por ejemplo, tal como se describió anteriormente con respecto a las figuras 2 a 7.
El método 800 incluye poner en cola 802 los paquetes de datos 208, 209, 210 en una cola de reordenamiento 230, por ejemplo, tal como se describió anteriormente con respecto a las figuras 2 a 7.
El método 800 incluye, además, reordenar 803 los paquetes de datos 208, 209, 210 en la cola de reordenamiento 230, de acuerdo con un criterio de reordenamiento 703, en donde el criterio de reordenamiento 703 se basa en, al menos, uno de los siguientes: numeración de secuencia específica de la ruta 400 de los paquetes de datos 208, 209, 210, comparación del número de secuencia general 500 a través de las múltiples rutas 223, características específicas de la ruta 600, en particular, latencia, de las múltiples rutas 223, por ejemplo, tal como se describió anteriormente con respecto a las figuras 2 a 7.
El método 800 puede ser implementado en un dispositivo de recepción 700 tal como se describió anteriormente con respecto a la figura 7, en particular, en un controlador 702 de la cola de reordenamiento, por ejemplo, tal como se describió anteriormente con respecto a la figura 7.
El método 800 puede incluir etapas adicionales, tales como, por ejemplo, de acuerdo con los bloques informáticos descritos anteriormente con referencia a las figuras 4 a 7, en particular, tal como se describió anteriormente con respecto al receptor 700 de múltiples rutas de la figura 7).
El método 800 puede ser implementado en un ordenador. Otro aspecto de la invención se refiere a un medio no transitorio legible por ordenador, en el que se almacenan las instrucciones del ordenador que, cuando son ejecutadas por un ordenador, hacen que el ordenador lleve a cabo el método 800.
Otro aspecto de la invención está relacionado con un producto de programa informático que comprende un código de programa para llevar a cabo el método 800 o las funcionalidades descritas anteriormente, cuando se ejecuta en un
ordenador o un procesador. El método 800 puede ser implementado como código de programa, que puede ser almacenado en un medio informático no transitorio. El producto de programa informático puede implementar las técnicas descritas anteriormente con respecto a las figuras 4 a 8.
Si bien una característica o aspecto particular de la invención puede haberse dado a conocer solo con respecto a una de varias implementaciones o realizaciones, dicha característica o aspecto puede ser combinada con una o más características o aspectos de las otras implementaciones o realizaciones que pueden ser deseados y ventajosos para cualquier aplicación dada o particular. Además, en la medida en que los términos “incluir”, “tener”, “con” u otras variantes de los mismos se utilizan en la descripción detallada o en las reivindicaciones, dichos términos pretenden ser inclusivos, de una manera similar al término “comprender”. Además, los términos “a modo de ejemplo” y “por ejemplo” son simplemente un ejemplo, en lugar de lo mejor u óptimo. Se pueden haber utilizado los términos “acoplado” y “conectado”, junto con derivados. Se debe comprender que estos términos pueden haberse utilizado para indicar que dos elementos colaboran o interactúan entre sí, independientemente de si están en contacto físico o eléctrico directo, o no están en contacto directo entre sí.
Aunque en el presente documento se han ilustrado y descrito aspectos específicos, los expertos en la materia apreciarán que una variedad de implementaciones alternativas y/o equivalentes pueden ser sustituidas por los aspectos específicos mostrados y descritos, sin apartarse del alcance de la presente invención, tal como está definida en las reivindicaciones adjuntas.
Aunque los elementos en las siguientes reivindicaciones se citan en una secuencia particular, a menos que las citas de la reivindicación impliquen una secuencia particular para implementar algunos o todos esos elementos, esos elementos no están destinados necesariamente a estar limitados a ser implementados en esa particular secuencia.
Muchas alternativas, modificaciones y variaciones serán evidentes para los expertos en la materia a la luz de las explicaciones anteriores. Por supuesto, los expertos en la materia reconocen fácilmente que existen numerosas aplicaciones de la invención más allá de las descritas en el presente documento. Si bien la presente invención se ha descrito con referencia a una o más realizaciones particulares, los expertos en la materia reconocen que se pueden hacer muchos cambios a la misma, sin apartarse del alcance de la presente invención, tal como está definida en las reivindicaciones adjuntas.
Claims (15)
1. Un dispositivo (701) de cola de reordenamiento para un receptor (700) de múltiples rutas, comprendiendo el dispositivo (701) de cola de reordenamiento:
una cola de reordenamiento (230), configurada para poner en cola paquetes de datos (208, 209, 210) numerados en secuencia que se reciben múltiples rutas (223) de un canal de múltiples rutas; y
un controlador (702) de la cola de reordenamiento, configurado para reordenar los paquetes de datos (208, 209, 210) en la cola de reordenamiento (230), de acuerdo con un criterio de reordenamiento (703), en el que el criterio de reordenamiento (703) se basa en la numeración de secuencia específica de la ruta (400) de los paquetes de datos (208, 209, 210) y en la comparación del número de secuencia general (500) a través de las múltiples rutas (223),
en el que los paquetes de datos (208, 209, 210) están numerados en la secuencia específica de la ruta (422) y en la secuencia general (421) específica, y
en el que el controlador (702) de la cola de reordenamiento está configurado para detectar una pérdida de paquetes (402) en una ruta específica en base a la determinación de los números de secuencia general (411) y a los números de secuencia específicos de la ruta (410) de, al menos, dos paquetes (401, 403) de la ruta específica.
2. El dispositivo (701) de cola de reordenamiento de la reivindicación 1,
en el que el criterio de reordenamiento (703) se basa, además, en características específicas de la ruta (600) de las múltiples rutas (223).
3. El dispositivo (701) de cola de reordenamiento de la reivindicación 1 o 2,
en el que el controlador (702) de la cola de reordenamiento está configurado para detectar una pérdida de paquetes (402) en una ruta específica de las múltiples rutas (223) en base a la detección de, al menos, dos paquetes (401,403) con números de secuencia específicos de ruta no secuenciados (410) en la cola de reordenamiento (230).
4. El dispositivo (701) de cola de reordenamiento de una de las reivindicaciones anteriores,
en el que los paquetes de datos (208, 209, 210) de una ruta específica incluyen un número de secuencia general (411) de un paquete de datos anterior de la ruta específica, y
en el que el controlador (702) de la cola de reordenamiento está configurado para detectar una pérdida de paquetes (402) en la ruta específica en base a la determinación de los números de secuencia general (411) de al menos dos paquetes de la ruta específica.
5. El dispositivo (701) de cola de reordenamiento de una de las reivindicaciones anteriores,
en el que los paquetes de datos (208, 209, 210, 211) están numerados en una secuencia general (221); y en el que el controlador (702) de la cola de reordenamiento está configurado para detectar una pérdida de paquetes (209) en base a la determinación de los números de secuencia general (210, 211) de los paquetes de datos recibidos en todas las rutas del canal de múltiples rutas.
6. El dispositivo (701) de cola de reordenamiento de la reivindicación 5,
en el que el controlador (702) de la cola de reordenamiento está configurado para detectar una pérdida de paquetes (209) cuando en cada ruta de los paquetes de datos del canal de múltiples rutas (210, 211) se reciben números de secuencia general más altos que un número de secuencia general faltante.
7. El dispositivo de cola de reordenamiento (701) de una de las reivindicaciones anteriores, en el que el controlador (702) de la cola de reordenamiento está configurado para igualar las características específicas de la ruta de las múltiples rutas.
8. El dispositivo (701) de cola de reordenamiento de una de las reivindicaciones anteriores, en el que el controlador (702) de la cola de reordenamiento está configurado para determinar, en base a las características específicas de la ruta (613, 614) de las múltiples rutas (223), para cada paquete de datos en cola en la cola de reordenamiento (230), una vida útil después de la cual tiene que salir (601) de la cola de reordenamiento (230).
9. El dispositivo (701) de cola de reordenamiento de la reivindicación 8, en el que el controlador de cola de reordenamiento (702) está configurado para determinar la vida útil en base a las diferencias de latencia (615) entre las rutas (223) del canal de múltiples rutas.
10. El dispositivo (701) de cola de reordenamiento de la reivindicación 9, en el que el controlador de cola de reordenamiento (702) está configurado para determinar una diferencia de latencia (615) para un conjunto de rutas en base a una latencia (613) determinada para una ruta específica del conjunto de rutas y una latencia máxima (614) determinada a través de las otras rutas del conjunto de rutas.
11. El dispositivo (701) de cola de reordenamiento de una de las reivindicaciones anteriores, en el que el controlador (702) de la cola de reordenamiento está configurado para determinar las características específicas de la ruta (613, 614) en base a mediciones del tiempo de ida y vuelta, mediciones de ancho de banda, estimaciones, entrada externa y/o conocimiento.
12. El dispositivo (701) de cola de reordenamiento de una de las reivindicaciones anteriores,
en el que el controlador (702) de la cola de reordenamiento está configurado para ajustar una expiración de la cola de reordenamiento (230) y/o un tamaño de cola de la cola de reordenamiento (230) en base a las características específicas de la ruta (613, 614).
13. Un receptor (700) de múltiples rutas, que comprende:
un dispositivo (701) de cola de reordenamiento, de acuerdo con una de las reivindicaciones 1 a 12, configurado para poner en cola y reordenar paquetes de datos (208, 209, 210) recibidos a través de un canal de múltiples rutas; y
un receptor (233), configurado para recibir los paquetes de datos reordenados (201).
14. Un método (800) para reordenar paquetes de datos numerados en secuencia, comprendiendo el método:
recibir (801) paquetes de datos (208, 209, 210) a través de múltiples rutas (223) de un canal de múltiples rutas; poner en cola (802) los paquetes de datos (208, 209, 210) en una cola de reordenamiento (230); reordenar (803) los paquetes de datos (208, 209, 210) en la cola de reordenamiento (230) de acuerdo con un criterio de reordenamiento (703), en donde el criterio de reordenamiento (703) se basa en la numeración de secuencia específica de la ruta (400) de los paquetes de datos (208, 209, 210) y en la comparación del número de secuencia general (500) a través de las múltiples rutas (223),
en donde los paquetes de datos (208, 209, 210) están numerados en una secuencia específica de la ruta (422) y en una secuencia específica general (421); y
detectar una pérdida de paquetes (402) en una ruta específica en base a la determinación de los números de secuencia general (411) y los números de secuencia específicos de la ruta (410) de, al menos, dos paquetes específicos de la ruta (401,403).
15. Un medio no transitorio, legible por ordenador, en el que se almacenan las instrucciones informáticas que, cuando son ejecutadas por un ordenador, hacen que el ordenador lleve a cabo el método (800) de la reivindicación 14.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP18157861.8A EP3531637B1 (en) | 2018-02-21 | 2018-02-21 | Techniques for efficient reordering of data packets in multipath scenarios |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2781972T3 true ES2781972T3 (es) | 2020-09-09 |
Family
ID=61256683
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES18157861T Active ES2781972T3 (es) | 2018-02-21 | 2018-02-21 | Técnicas para el reordenamiento eficiente de paquetes de datos en escenarios de múltiples rutas |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US11159442B2 (es) |
| EP (1) | EP3531637B1 (es) |
| CN (1) | CN111801915B (es) |
| ES (1) | ES2781972T3 (es) |
| PL (1) | PL3531637T3 (es) |
| WO (1) | WO2019162321A1 (es) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| ES2972036T3 (es) | 2019-11-06 | 2024-06-10 | Deutsche Telekom Ag | Procedimiento y dispositivo de red para comunicación de múltiples rutas |
| US11444875B2 (en) * | 2020-09-25 | 2022-09-13 | Cisco Technology, Inc. | Per-packet load-balancing over multiple network paths |
| EP4238297A1 (en) * | 2020-10-27 | 2023-09-06 | Qualcomm Incorporated | Techniques for packet data convergence protocol and radio link control sequence number synchronization |
| EP4075742B1 (en) | 2021-04-14 | 2024-12-18 | Deutsche Telekom AG | System and method for multipath transmission with efficient adjustable reliability |
| EP4142264B1 (en) | 2021-08-31 | 2024-04-03 | Deutsche Telekom AG | Techniques for providing a generic multipath system by a flexible selection of network protocols |
| CN115914126B (zh) * | 2021-09-08 | 2025-10-17 | 联发科技(新加坡)私人有限公司 | 管理乱序数据包的方法及其用户设备 |
| US20230199846A1 (en) * | 2021-12-20 | 2023-06-22 | Sony Group Corporation | Receive reordering buffer control for latency sensitive traffic |
| EP4221144A1 (en) | 2022-01-26 | 2023-08-02 | Deutsche Telekom AG | Determining optimized data rates for a communication path |
| EP4254900B1 (en) * | 2022-03-28 | 2024-07-24 | Deutsche Telekom AG | Multipath receiver and processing of 3gpp atsss on a multipath receiver |
| ES3000392T3 (en) | 2022-04-28 | 2025-02-28 | Deutsche Telekom Ag | Techniques to reduce latency spikes in multipath communication systems |
| US12265512B2 (en) * | 2023-06-21 | 2025-04-01 | Honeywell International Inc. | Data management system |
| US20250119390A1 (en) * | 2023-10-10 | 2025-04-10 | Google Llc | Fair Order Processing |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5914950A (en) | 1997-04-08 | 1999-06-22 | Qualcomm Incorporated | Method and apparatus for reverse link rate scheduling |
| US6246684B1 (en) * | 1997-12-24 | 2001-06-12 | Nortel Networks Limited | Method and apparatus for re-ordering data packets in a network environment |
| US6765893B1 (en) | 2000-03-31 | 2004-07-20 | Qualcomm Incorporated | Dynamic recognition of an empty general paging message |
| US6876657B1 (en) * | 2000-12-14 | 2005-04-05 | Chiaro Networks, Ltd. | System and method for router packet control and ordering |
| US6901063B2 (en) * | 2002-05-13 | 2005-05-31 | Qualcomm, Incorporated | Data delivery in conjunction with a hybrid automatic retransmission mechanism in CDMA communication systems |
| US7802002B2 (en) * | 2002-08-23 | 2010-09-21 | Hewlett-Packard Development Company, L.P. | Media data streaming considering performance characteristics of the streaming path |
| US9042212B2 (en) * | 2005-07-29 | 2015-05-26 | Qualcomm Incorporated | Method and apparatus for communicating network identifiers in a communication system |
| ATE479255T1 (de) * | 2006-12-08 | 2010-09-15 | Iwics Inc | Erweitertes datentransportprotokoll für ein mehrstations-netz |
| US20090116489A1 (en) * | 2007-10-03 | 2009-05-07 | William Turner Hanks | Method and apparatus to reduce data loss within a link-aggregating and resequencing broadband transceiver |
| US7756044B2 (en) * | 2008-07-31 | 2010-07-13 | Microsoft Corporation | Inverse multiplexing heterogeneous wireless links for high-performance vehicular connectivity |
| EP2466811B1 (en) | 2010-12-20 | 2016-06-22 | Alcatel Lucent | System and method for multi-channel packet transmission |
| US8824477B2 (en) * | 2011-11-03 | 2014-09-02 | Qualcomm Incorporated | Multiple delivery route packet ordering |
| US9906333B2 (en) * | 2012-08-13 | 2018-02-27 | Microsoft Technology Licensing, Llc | In-frame acknowledgments and retransmissions |
| US9413494B2 (en) * | 2013-01-17 | 2016-08-09 | Qualcomm Incorporated | FEC-based reliable transport control protocols for multipath streaming |
| US9432251B2 (en) * | 2013-03-08 | 2016-08-30 | Qualcomm Incorporated | Enhanced acknowledgement and retransmission mechanism |
| US9585048B2 (en) * | 2013-10-30 | 2017-02-28 | Qualcomm Incorporated | Techniques for aggregating data from WWAN and WLAN |
| US9565594B2 (en) * | 2014-03-28 | 2017-02-07 | Qualcomm Incorporated | Link aggregation in wireless local area networks |
-
2018
- 2018-02-21 ES ES18157861T patent/ES2781972T3/es active Active
- 2018-02-21 PL PL18157861T patent/PL3531637T3/pl unknown
- 2018-02-21 EP EP18157861.8A patent/EP3531637B1/en active Active
-
2019
- 2019-02-20 US US16/971,000 patent/US11159442B2/en active Active
- 2019-02-20 CN CN201980014756.2A patent/CN111801915B/zh active Active
- 2019-02-20 WO PCT/EP2019/054205 patent/WO2019162321A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| US20200403928A1 (en) | 2020-12-24 |
| EP3531637A1 (en) | 2019-08-28 |
| CN111801915B (zh) | 2021-07-27 |
| US11159442B2 (en) | 2021-10-26 |
| PL3531637T3 (pl) | 2020-07-13 |
| EP3531637B1 (en) | 2020-01-01 |
| CN111801915A (zh) | 2020-10-20 |
| WO2019162321A1 (en) | 2019-08-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2781972T3 (es) | Técnicas para el reordenamiento eficiente de paquetes de datos en escenarios de múltiples rutas | |
| ES2798127T3 (es) | Técnicas para transmisión de múltiples trayectos eficaz | |
| US12101659B2 (en) | Radio bearer switching in radio access | |
| WO2020169881A1 (en) | Method and apparatus for handling packet delay budget division and quality of service monitoring in a communication system | |
| CN106797675A (zh) | 无线通信系统和无线通信方法 | |
| KR20170108006A (ko) | 무선 링크 제어 스위칭을 위한 방법들 및 장치 | |
| US11252608B2 (en) | Method and apparatus for transmitting data in wireless communication system | |
| US11632326B1 (en) | Selection of network paths for reliable communications based on network reliability metrics | |
| Mogensen et al. | Selective redundant MP-QUIC for 5G mission critical wireless applications | |
| JP4708978B2 (ja) | 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル | |
| WO2018123956A1 (ja) | ユーザ装置、基地局、及び信号受信方法 | |
| CN117812746A (zh) | 一种协议数据单元集合传输方法及装置 | |
| US9385931B1 (en) | Determining a reordering timer | |
| Kumar et al. | Device‐centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol | |
| CN118541921A (zh) | 无线电承载和用户设备层实体之间的聚合链路建立与通信 | |
| WO2025129671A1 (en) | User equipment (ue) switch physical layer (phy) mode to improve data transmission performance | |
| CN114731332A (zh) | 流间延迟抖动的减轻 | |
| KR20230100596A (ko) | 다운링크 스케쥴링 방법 및 장치 | |
| CN121040020A (zh) | 与pdu集的可靠传输相关联的网络设备 | |
| Mali et al. | Survey Paper on Improving QOS by Selective Discard & Retransmission of Packets in WSN | |
| HK40009949A (en) | Methods and devices for data retransmission |