[go: up one dir, main page]

ES2950133T3 - Aparato de codificación multitrayecto y técnicas relacionadas - Google Patents

Aparato de codificación multitrayecto y técnicas relacionadas Download PDF

Info

Publication number
ES2950133T3
ES2950133T3 ES19729119T ES19729119T ES2950133T3 ES 2950133 T3 ES2950133 T3 ES 2950133T3 ES 19729119 T ES19729119 T ES 19729119T ES 19729119 T ES19729119 T ES 19729119T ES 2950133 T3 ES2950133 T3 ES 2950133T3
Authority
ES
Spain
Prior art keywords
packets
packet
source node
path
node
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
ES19729119T
Other languages
English (en)
Inventor
Kerim Fouli
Muriel Medard
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.)
Code On Technologies Inc
Original Assignee
Code On Technologies 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 Code On Technologies Inc filed Critical Code On Technologies Inc
Application granted granted Critical
Publication of ES2950133T3 publication Critical patent/ES2950133T3/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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/0096Channel splitting in point-to-point links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

Se describen sistemas, dispositivos y métodos de codificación multitrayecto. En una red de rutas múltiples, los dispositivos y métodos generan al menos uno de una pluralidad de paquetes no codificados para su transmisión en una primera ruta desde un nodo de origen a un nodo de destino, así como al menos un paquete codificado basado en un conjunto de paquetes no codificados para su transmisión en una segunda ruta desde el nodo de origen al nodo de destino. El conjunto de paquetes no codificados se forma, genera o proporciona de otro modo a partir de un siguiente paquete no codificado que se transmitirá, un número (α) de paquetes no codificados previamente transmitidos y un número (β) de paquetes no codificados que se transmitirán después del siguiente paquete no codificado. paquete y α +β es mayor que cero. El nodo de destino opera para recibir y decodificar, según sea necesario, los paquetes codificados y no codificados. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Aparato de codificación multitrayecto y técnicas relacionadas
Antecedentes
Como se sabe en la técnica, una red que tiene una topología de red multitrayecto incluye múltiples trayectos entre un nodo de origen (S) y un nodo de destino (D). Tales topologías se han utilizado generalmente para lograr mejoras en el ancho de banda, la fiabilidad y las mejoras en el retardo promedio.
Como se ilustra en la Fig. 1, una red que tiene una topología multitrayecto incluye un nodo de origen 100, un nodo de destino 200 y un par de trayectos de señal 110, 120 entre los nodos de origen y de destino. Cuando el nodo de origen está operando según una técnica convencional multitrayecto, el nodo de origen 100 transmite simultáneamente un primer paquete 112 a lo largo del primer trayecto 110 y un segundo paquete 122 a lo largo del segundo trayecto 120. Por tanto, dos paquetes 112, 122 se transmiten sustancialmente simultáneamente a través de los dos trayectos 110, 120 hasta el nodo de destino. Esto contrasta con los sistemas que no son multitrayecto en los que el nodo de origen transmite los dos paquetes uno a la vez (es decir, secuencialmente) a través de un único trayecto entre los nodos de origen y de destino.
El uso de tal enfoque multitrayecto proporciona mejoras en el ancho de banda y una reducción en el retraso promedio (cuando no hay pérdidas de paquetes) en comparación con los sistemas que no son multitrayecto.
La Fig. 2 ilustra un nodo de origen que funciona según una técnica multitrayecto replicado, en la que los paquetes 112, 114 se transmiten desde el nodo de origen 100 al nodo de destino 200 a través del primer trayecto 110 y un conjunto replicado de paquetes 112', 114' se transmiten de manera sustancialmente simultánea desde el nodo de origen al nodo de destino 200 a través del segundo trayecto 120. Enviando dos conjuntos de paquetes 112, 114, 112', 114' (con 112', 114' correspondientes a un conjunto replicado de paquetes 112, 114) simultáneamente sobre los respectivos de los trayectos 110, 120, la comunicación en un sistema multitrayecto replicado no se interrumpe a menos que se interrumpan ambos trayectos. Por tanto, con una técnica multitrayecto replicado, enviando todos los paquetes sobre múltiples trayectos, la fiabilidad se puede mejorar en comparación con la fiabilidad proporcionada operando según una técnica multitrayecto convencional (por ejemplo, como se ilustra en la Fig. 1). En las redes industriales que tienen topologías multitrayecto, se pueden utilizar técnicas multitrayecto replicado para reducir la latencia de paquetes individuales así como la fiabilidad. El multitrayecto replicado es la base del estándar IEEE 802.1CB de Ethernet ''replicación y eliminación de tramas".
La Tabla 1 ilustra la temporización posible (es decir, un patrón de llegada posible) de dos paquetes A y B transmitidos por un nodo de origen y recibidos en un nodo de destino cuando se utilizan dos trayectos. En esta ilustración, los paquetes se transmiten desde el nodo de origen al nodo de destino simultáneamente. Como se muestra en el diagrama de temporización de la Tabla 1, el trayecto 2 introduce un retardo de un intervalo de tiempo en comparación con el trayecto 1. Esto da como resultado una mayor latencia del paquete. Por tanto, el uso de más de un trayecto puede permitir que el destino se complete antes de tiempo en comparación con el uso de un solo trayecto (es decir, el uso de el trayecto 1 y el trayecto 2 permite un tiempo de finalización en el nodo de destino que es un intervalo de tiempo más rápido de lo que se lograría usando solo el trayecto 2). Cuanto mayor sea la variabilidad entre los trayectos, mayor será la ganancia de latencia del paquete.
TABLA 1
Figure imgf000002_0001
Como también se sabe, el uso de la codificación puede mejorar aún más las características de retardo. La Fig. 3 ilustra una red multitrayecto codificada convencional. Una red multitrayecto codificado evita la replicación, por lo que utiliza la mitad del ancho de banda de una red multitrayecto replicado. Sin embargo, dado que se requieren ambos trayectos en una red codificada multitrayecto para transmitir la información (trayectos 110, 120 en la Fig. 3), no se garantiza la fiabilidad contra la pérdida de trayecto. Por ejemplo, en la Fig. 3, si se interrumpe la transmisión del paquete 322 (es decir, A-B) en el trayecto 120 (es decir, el trayecto 2), puede que el destino (D) 200 no reciba paquetes completos de A y B en base únicamente en el paquete 312 (es decir, el paquete que contiene la suma A+B).
También es posible utilizar la replicación en un nodo de origen que opera según una técnica multitrayecto codificado, de manera que el nodo de origen opera según una técnica multitrayecto codificado replicado. Una técnica multitrayecto codificado replicado proporciona protección contra la pérdida de trayecto. Este enfoque, sin embargo, utiliza todo el ancho de banda replicado. El documento EP 3252978 describe un aparato configurado para transmitir o recibir datos de carga útil utilizando un primer canal de datos inalámbrico e información relacionada con datos de recuperación de carga útil utilizando un segundo canal de datos inalámbrico. El aparato comprende un módulo de control configurado para obtener los datos de carga útil y determinar la información relacionada con los datos de recuperación de carga útil en base a los datos de carga útil. El módulo de control está configurado además para transmitir los datos de carga útil a través de al menos una interfaz y el primer canal de datos inalámbrico y la información relacionada con los datos de recuperación de carga útil a través de la al menos una interfaz y el segundo canal de datos inalámbrico.
Compendio
Según un aspecto de los conceptos, sistemas, dispositivos y técnicas descritos en la presente memoria, un método de codificación multitrayecto que se ejecuta (o ejecuta, opera, procesa o funciona de otro modo) en un nodo de origen (S) de una red multitrayecto se reivindica en las reivindicaciones 1 y 9.
En un segundo aspecto, en las reivindicaciones 7 y 15 se reivindica un método implementado por máquina y aparato de nodo de destino para su uso en un nodo de destino para procesar paquetes codificados recibidos desde un nodo de origen a través de múltiples trayectos diferentes.
Breve descripción de los dibujos
Las características anteriores se pueden entender más completamente a partir de la siguiente descripción de los dibujos en los que:
la Fig. 1 es un diagrama esquemático de una topología multitrayecto convencional que tiene múltiples trayectos desde un origen (S) hasta un destino (D);
la Fig. 2 es un diagrama esquemático de una red que tiene una topología multitrayecto y que tiene un nodo de origen que opera según una técnica multitrayecto duplicado convencional;
la Fig. 3 es un diagrama esquemático de una red que tiene una topología multitrayecto y que tiene un nodo de origen que opera según una técnica multitrayecto codificado convencional;
la Fig. 4 es un diagrama esquemático de una red que tiene una topología multitrayecto y que tiene un nodo de origen que opera según una técnica multitrayecto replicado codificado;
la Fig. 5 es un diagrama esquemático de una red que tiene una topología multitrayecto y que tiene un nodo de origen que opera según una técnica multitrayecto de redundancia paramétrica;
la Fig. 6 es un diagrama esquemático de una red que tiene una topología multitrayecto y que tiene un nodo de origen que opera según una técnica multitrayecto replicado que usa un tercer trayecto entre un nodo de origen y un nodo de destino;
la Fig. 7 es un diagrama esquemático de una red que tiene una topología multitrayecto y que tiene un nodo de origen que opera según una red de redundancia paramétrica codificada que utiliza un tercer trayecto entre un nodo de origen y un nodo de destino;
la Fig. 8 es un diagrama esquemático de una red que tiene una topología multitrayecto y que tiene un nodo de origen que opera según una técnica multitrayecto replicado para enviar tres (3) paquetes a través de una pluralidad de trayectos de señal;
la Fig. 9 es un diagrama esquemático de una red que tiene una topología multitrayecto y que tiene un nodo de origen que opera según una técnica multitrayecto de redundancia paramétrica codificada para enviar tres (3) paquetes sobre una pluralidad de trayectos de señal;
la Fig. 10A es un diagrama de flujo que ilustra un ejemplo de preparación de parámetros de red para la transmisión de paquetes sobre una pluralidad de trayectos de señal entre un nodo de origen y un nodo de destino según una técnica multitrayecto de redundancia paramétrica codificada;
la Fig. 10B es un diagrama de flujo que ilustra un ejemplo de transmisión de paquetes a través de una pluralidad de trayectos de señal entre un nodo de origen y un nodo de destino según una técnica multitrayecto de redundancia paramétrica codificada;
la Fig. 11 es un diagrama esquemático de codificación de paquetes codificados en un nodo de origen según una técnica multitrayecto de redundancia paramétrica codificada; y
La Fig. 12 es una implementación ilustrativa de un sistema de red o nodo de red capaz de realizar los procesos descritos para implementar una técnica multitrayecto de redundancia paramétrica codificada.
Descripción detallada
Según los conceptos descritos en la presente memoria, se ha reconocido que el uso de codificación en una red que tiene una topología multitrayecto puede mejorar las características de retardo cuando el paquete codificado está diseñado para coincidir con sus paquetes no codificados asociados.
Haciendo referencia ahora a la Fig. 4, una red que tiene una topología multitrayecto (es decir, la denominada "red multitrayecto") incluye un nodo de origen 400 que transmite una pluralidad de paquetes no codificados (aquí se muestran dos paquetes no codificados 402, 404 que se muestran en la realización ilustrativa de Fig. 4) a través de un primera trayecto 406 a un nodo de destino 408. El nodo de origen 400 también transmite una pluralidad de paquetes codificados (aquí, dos paquetes codificados 410, 412 que se muestran en las realizaciones ilustrativas de la Fig. 4) a través de un segundo trayecto diferente 414 a un nodo de destino 408. Por tanto, el nodo de origen 400 está operando según una técnica multitrayecto codificado replicado. Tal operación proporciona protección contra la pérdida de trayecto. Sin embargo, utiliza el mismo ancho de banda que un sistema replicado completo (por ejemplo, como se muestra en la Fig. 2).
Con referencia ahora a la Fig. 5, una red multitrayecto incluye el nodo de origen 500 que transmite una pluralidad de paquetes no codificados (con dos paquetes no codificados 502, 504 que se muestran en la realización ilustrativa de la Fig. 5) a través de un primer trayecto 506 a un nodo de destino 508. El nodo de origen 500 también transmite un paquete codificado (con un solo paquete codificado 510 que se muestra en la realización ilustrativa de la Fig. 5) a través de un segundo trayecto 512 diferente al nodo de destino 508. Se debería apreciar que uno o más nodos intermedios 514, 515 pueden existir en los respectivos trayectos 506, 512 entre los nodos de origen y de destino 500, 508, respectivamente.
El nodo de origen 500 funciona según una técnica multitrayecto de redundancia paramétrica que es un esquema híbrido que permite la parametrización de la redundancia, donde una tasa de información (R) (a la que se hace referencia también algunas veces en la presente memoria como "tasa de código") se define como la proporción de datos útiles (es decir, no redundantes) sobre la totalidad de los trayectos disponibles. En otras palabras, haciendo referencia a la Fig. 5, es la relación entre una tasa no codificada sobre ambos trayectos y una tasa de datos completa en ambos trayectos. Por lo tanto, la tasa de información (R) se define sobre la totalidad de los trayectos disponibles y puede tomar cualquier valor entre 0 y 1 (es decir, 0 < R <= 1).
La tasa de información R se puede calcular o determinar de otro modo de la siguiente manera: para cualquier grupo de paquetes nativos (es decir, no codificados), el número de paquetes nativos dividido por el número total de paquetes nativos y codificados asociados. En la realización ilustrativa de la Fig. 5, hay dos paquetes nativos (es decir, los paquetes 502, 504) y un paquete codificado 510. Por tanto, el número total de paquetes nativos es dos (2) mientras que el número total de paquetes nativos y paquetes codificados asociados paquetes es tres (3). En consecuencia, en la realización ilustrativa de la Fig. 5, la tasa de información R es 2/3.
Cabe señalar que en las realizaciones, la tasa de código R siempre satisface 0 < R <= 1 (y como se indicó anteriormente, R se define aquí sobre la totalidad de trayectos disponibles).
Además, una relación de redundancia se puede indicar 1/R. Por tanto, una tasa de datos completa se puede determinar como:
Tasa de Datos Completa = (1/R) x Tasa no Codificada.
La Tabla 2 compara los esquemas convencionales, replicados y paramétricos dado el mismo patrón de llegada de paquetes.
TABLA 2
Figure imgf000004_0001
Figure imgf000005_0001
Como se puede ver a partir de la Tabla 2, los esquemas codificados ofrecen una ventaja de latencia potencialmente significativa, permitiendo la decodificación tan pronto como en el segundo intervalo de tiempo (t2), en ciertas ocasiones. Obsérvese que el "esquema" multitrayecto de redundancia paramétrica (es decir, la técnica) utiliza tres (3) transmisiones en comparación con las cuatro (4) transmisiones que se requerirían utilizando un esquema replicado. En algunas realizaciones, los retardos de codificación pueden afectar a la transmisión de los paquetes 502, 504, 510. Los retardos de codificación dependen de una tecnología de codificación seleccionada. Los conceptos, sistemas, dispositivos y técnicas que se buscan proteger en la presente memoria no dependen de la selección de una tecnología de codificación en particular.
Haciendo referencia ahora a las Figs. 6 y 7, un ejemplo de red multitrayecto incluye tres trayectos de señal 610, 620, 630 entre un nodo de origen 600 y un nodo de destino 602. En la Fig. 6, el nodo de origen 600 transmite un primer conjunto de paquetes A, B (indicados por números de referencia 612, 614) a través del trayecto 610 al nodo de destino 602. El nodo de origen 600 también transmite un primer conjunto de paquetes replicados A, B (indicados por los números de referencia 612', 614') a través del trayecto 620 al nodo de destino 602 (es decir, los paquetes 612', 614' son réplicas de los paquetes 612, 614). El nodo de origen 600 también transmite un segundo conjunto replicado de paquetes A, B (indicado por los números de referencia 612", 614" al nodo de destino 602 a través de un trayecto 630 (es decir, los paquetes 612", 614" también son versiones replicadas de los paquetes 612, 614). Por tanto, la Fig. 6 ilustra la operación usando la técnica replicada con R = 1/3.
En la Fig. 7, el nodo de origen 600 funciona para transmitir un primer conjunto de paquetes A, B (indicados por los números de referencia 712, 714) a través del trayecto 610 al nodo de destino 602 (que puede ser igual o similar al nodo de origen 600 descrito anteriormente en la Fig. 6). Los paquetes 712, 714 pueden ser iguales o similares a los paquetes 612, 614 de la Fig. 1. El nodo de origen 600 también opera para transmitir al menos un paquete codificado A-B 722 a través del trayecto 620 al nodo de destino 602 (es decir, el paquete 722 es una versión codificada de los paquetes 712, 714). El nodo de origen 600 también opera para transmitir un segundo paquete codificado A+B (indicado por los números de referencia 724) al nodo de destino 602 a través de un trayecto 630 (es decir, los paquetes 722, 724 son versiones codificadas de los paquetes 712, 714). Por tanto, la Fig. 7 ilustra la operación utilizando una técnica paramétrica codificada con R = 1/2.
Como se señaló anteriormente, la tasa de información, o tasa de código, R se define para cualquier grupo nativo de paquetes como el número de paquetes nativos dividido por el número total de paquetes nativos y codificados asociados. Como también se señaló anteriormente, la tasa de código R está dentro del rango de 0 < R <= 1.
La Tabla 3 compara las ganancias de latencia de paquetes en los esquemas replicado y paramétrico para un patrón de llegada dado.
TABLA 3
Figure imgf000006_0002
El diagrama de temporización de la Tabla 3 compara las ganancias de latencia de paquetes en los esquemas replicado y paramétrico para un patrón de llegada dado. En este caso, el paquete A (indicado por el número de referencia 612 en la Fig. 6 y por el número de referencia 712 en la Fig. 7) se recibe y el paquete B 614 (Fig. 6), 714 (Fig. 7) se decodifica en el primer intervalo de tiempo (t1) en el esquema codificado, en comparación con el cuarto (t4) en el esquema no codificado. Cuando hay más trayectos disponibles, el esquema codificado puede evitar que los paquetes lleguen desordenados sin una programación de paquetes compleja, mejorando por tanto la latencia de los paquetes. Esto ilustra el aumento de las mejoras de latencia dada la variabilidad del retardo de trayecto.
Cabe señalar que el esquema paramétrico tiene una tasa de información más alta y al mismo tiempo que utiliza menos transmisiones (menos ancho de banda) que un sistema multitrayecto replicado. Además, las mejoras de latencia, ancho de banda (y energía) dependen de la tecnología de codificación y los parámetros utilizados.
Los beneficios de la técnica explicada anteriormente se pueden enfatizar cuando se considera un escenario para transmitir más paquetes, por ejemplo, 3 paquetes.
Haciendo referencia ahora a la Fig. 8, se ilustra una red multitrayecto en la que un nodo de origen opera según una técnica multitrayecto replicado convencional. Como se ha indicado anteriormente, una técnica multitrayecto replicado convencional se centra en la fiabilidad o el uso del ancho de banda.
La red multitrayecto de ejemplo de las Figs. 8 y 9 en las que se proporcionan elementos similares que tienen designaciones de referencia similares, incluye un par de trayectos de señal 810, 820 entre un nodo de origen 800 y un nodo de destino 802. En la Fig. 8, el nodo de origen 800 transmite tres paquetes A, B, C (indicado por los números de referencia 812, 814, 816) a través de trayecto 810 al nodo de destino 802. El nodo de origen 800 también transmite tres paquetes replicados A, B, C (indicados por los números de referencia 812', 814', 816') a través del trayecto 820 al nodo de destino 802 (es decir, los paquetes 812', 814', 816' son réplicas de los paquetes 812, 814, 816). Por tanto, la Fig. 6 ilustra la operación utilizando una técnica de replicación.
Haciendo referencia a la TABLA 4 de temporización del sistema descrito en la Fig. 8, se muestra que los paquetes A, B, C se deben recibir por un nodo de destino. Aquí, el nodo de destino recibe todos los paquetes A, B, C en t6.
TABLA 4
Figure imgf000006_0001
Figure imgf000007_0001
En otra realización, se puede usar una codificación diferente para reducir la latencia del paquete. La Tabla 4 muestra una configuración de codificación que permite la decodificación y entrega de paquetes antes en el tiempo de lo que se logra usando un esquema multitrayecto replicado como se muestra en la Fig. 8.
En la Fig. 9, el nodo de origen 800 opera para transmitir un primer conjunto de paquetes A, B, C (indicados por los números de referencia 912, 914, 916) a través del trayecto 810 al nodo de destino 802. Los paquetes 912, 914, 916 pueden ser los mismos que o similares a los paquetes 812, 814, 816 en la Fig. 8. El nodo de origen 800 también opera para transmitir al menos un par de paquetes codificados A+B 922 y B+C 924 a través del trayecto 820 al nodo de destino 802 (es decir, los paquetes 922, 924 son versiones codificadas de los paquetes 912, 914, 916). Por tanto, la Fig. 9 ilustra la operación utilizando una técnica paramétrica codificada.
El esquema multitrayecto paramétrico codificado de la Fig. 9 entrega todos los paquetes antes que el esquema de replicación no codificado ilustrado en la Fig. 8. Una posible implementación del esquema multitrayecto paramétrico codificado es hacer que el nodo de origen, en cada oportunidad de transmisión, combine el último paquete saliente transmitido en un primer trayecto (por ejemplo, el trayecto 1) con los paquetes p programados para la transmisión, donde p es un número natural positivo fijo o es variable y depende de las condiciones de la red (incluyendo, pero no se limitan a, las últimas características de retardo de los trayectos, o la última diferencia de retardo entre ellos).
El valor de p depende de una variedad de factores que incluyen, pero no se limitan a, retardos de trayecto relativos. Por ejemplo, si se sabe en el origen que el trayecto 1 es T unidades de tiempo más rápido que el trayecto 2, el origen podría combinar un paquete más que el número de paquetes que se espera recibir en un período de tiempo T con el fin de permitir un evento de decodificación en el nodo de destino. Según la presente invención, el valor de p depende de los retardos de trayecto relativos.
El segundo escenario de la TABLA 5 muestra un nuevo patrón de llegada que muestra un multitrayecto codificado usando paquetes no codificados consecutivos (A+B en el tiempo t2) seguido de B+C en el tiempo t3 para decodificar más de un paquete no codificado aún no recibido (B en t4 y C en t6). Esto ilustra el impacto de la variabilidad de el trayecto en los eventos de decodificación y, por tanto, en las latencias de los paquetes.
TABLA 5
Figure imgf000007_0002
Como se ilustra en la Fig. 9, un destino puede recibir el paquete A no codificado mientras que se decodifica el paquete B tras recibir el primer paquete codificado. Esta técnica multitrayecto paramétrico codificado es, por tanto, superior a la técnica de codificación convencional descrita anteriormente junto con la Fig. 3. Además, utilizando los conceptos y técnicas multitrayecto paramétrico codificado descritos en la presente memoria, la codificación se puede diseñar para asegurar que la decodificación ocurra lo antes posible para cada paquete. El beneficio se muestra claramente en las tablas de temporización de la TABLA 4 y la TABLA 5.
En la TABLA 5, utilizando una técnica multitrayecto de redundancia paramétrica, el nodo de destino puede recibir o decodificar A en el tiempo t1, B en el tiempo t2, y C en el tiempo t 3 . En consecuencia, el esquema codificado entrega todos los paquetes antes que el esquema de replicación no codificado.
Se debería apreciar que la técnica descrita en la Fig. 9 y la TABLA 4 es para reducir la latencia. Si la fiabilidad es más importante que una menor latencia, se puede ajustar una relación de redundancia (1/R). Por tanto, en este caso, el nodo de origen puede enviar más paquetes codificados al destino. Por ejemplo, en lugar de enviar solo los paquetes codificados B+C y A+B (como se ilustra en la Fig. 9), el origen puede enviar los paquetes codificados A+B, B+C, A-B y B-C para aumentar la fiabilidad de la transmisión.
Se debería apreciar que cuando hay más trayectos disponibles, el esquema codificado puede evitar que los paquetes lleguen desordenados sin una programación de paquetes compleja, mejorando por tanto la latencia de los paquetes. Esto ilustra el aumento de las mejoras de latencia dada la variabilidad del retardo de trayecto. Cabe señalar también que el esquema paramétrico tiene una tasa de código R más alta y usa menos transmisiones.
Según un aspecto de los conceptos descritos en la presente memoria, uno o más nodos de origen pueden necesitar distribuir paquetes a través de múltiples trayectos disponibles. Tales nodos de origen S pueden operar según una variedad de esquemas diferentes dependiendo de una carga en respuesta a varias condiciones de carga. Tales esquemas operativos incluyen, pero no se limitan a, un esquema de carga igual y un esquema basado en la carga.
Durante la operación de carga igual, para cada grupo de paquetes nativos y tasa de información, un nodo de origen: (1) calcula paquetes redundantes; y (2) envía paquetes nativos y codificados a través de todos los trayectos disponibles con cargas iguales, donde cada trayecto ve un número igual de paquetes. La operación de carga igual se describirá en detalle a continuación cuando se hace referencia a las Figs. 10A-10B.
Durante la operación basada en carga, para cada grupo de paquetes nativos y tasa de información, un nodo de origen: (1) calcula paquetes redundantes del grupo nativo de paquetes; (2) recibe o determina cargas de trayectoria; y (3) envía paquetes nativos y redundantes a través de todos los trayectos disponibles según las cargas de trayectos calculadas. La operación basada en carga se describirá en detalle a continuación con referencia a las Figs. 10A-10B.
En las realizaciones, para recibir o determinar las cargas de trayecto, un nodo de origen recibe o determina la carga total T de los P trayectos (unidades de información/segundo, por ejemplo, bits/segundo), así como las cargas parciales de trayecto Hi, donde i es un índice de trayecto (i=1...P) y P es el número de trayectos.
En las realizaciones, para enviar paquetes nativos y redundantes a través de todos los trayectos disponibles según las cargas de trayecto calculadas, para cada grupo de paquetes codificados y nativos de tamaño G, el número Gi de paquetes a enviar por el trayecto i (i=1...P) debería satisfacer Gi / G = Hi /T.
En cualquiera de las técnicas anteriores (es decir, cualquiera de las técnicas de carga igual o basadas en carga), el grupo de paquetes puede ser un bloque o ventana de tamaño fijo o variable. De manera similar, la tasa de información y la información de trayecto pueden ser fijas o variables. También, los grupos de paquetes pueden superponerse. Es decir, se puede usar un paquete no codificado para generar más de un paquete codificado.
Cabe señalar que en lo anterior se supone una codificación sistemática. Sin embargo, se debería apreciar que en las realizaciones todos los paquetes se pueden codificar antes de la transmisión en un origen.
También se debería apreciar que, dado que los grupos de paquetes más grandes tardan más en transportarse y decodificarse en un destino, el tamaño G de un grupo de paquetes se puede reducir para lograr una latencia requerida específica.
También se debería apreciar que los parámetros para un nodo de origen se pueden recibir de un nodo externo (por ejemplo, un controlador de red u otro dispositivo) o se pueden determinar o proporcionar de cualquier manera, tal como a través del uso de cualquier mecanismo local o externo. Tales mecanismos locales o externos pueden incluir, pero no se limitan a, fijo, estado del canal, estado de red, realimentación del destino, realimentación de la red, etc.).
En las realizaciones, los parámetros y el diseño del sistema se pueden seleccionar de la siguiente manera.
Procesamiento de nodos de origen
En algunas realizaciones, una técnica para generar paquetes codificados puede aumentar la probabilidad de que los paquetes codificados conduzcan a un evento de decodificación que puede reducir la latencia. Aquí, los nodos de origen necesitan distribuir paquetes a través de los múltiples trayectos disponibles de modo que la decodificación sea posible más pronto. Un trayecto se usa para paquetes nativos/originales, los otros trayectos disponibles se usan para paquetes codificados, típicamente a una tasa más baja. Cada paquete codificado transmitido debería conducir a un evento de decodificación, ya que la decodificación genera "paquetes nuevos" para el destino, reduciendo por tanto la latencia del paquete.
El origen transmite paquetes en el trayecto principal (no codificado) en orden, siguiendo una programación predeterminada (por ejemplo, orden de llegada). Permitamos que cada paquete tenga un índice, donde el índice muestra el orden programado de transmisión.
Para cada oportunidad de transmisión en los trayectos codificados:
• Indicar el siguiente paquete a ser transmitido en el trayecto no codificado pn, dónde n es el índice del paquete.
• Crear y transmitir un paquete codificado que combine a paquetes entre los últimos paquetes que se transmitieron (paquetes anteriores) y p paquetes entre los paquetes que se van a transmitir (paquetes posteriores).
Aquí, se puede usar cualquier esquema de codificación para generar el paquete codificado. Por ejemplo, utilizando
codificación lineal, el paquete codificado podría ser el resultado del sumatorio: " i= o ciVn-a+ i donde c(es un coeficiente de codificación, y las operaciones se llevan a cabo en modo símbolos, en un campo finito predefinido o en cualquier subconjunto predefinido del mismo. Los coeficientes de codificación generados se pueden añadir al paquete codificado para su transmisión al nodo de destino.
a se puede determinar a través del conocimiento de la aceleración relativa del trayecto codificado (es decir, puede estar relacionado con el número de paquetes que el paquete codificado habrá "superado" cuando se reciba en el nodo de destino). En este caso, el momento más temprano en que el paquete codificado llega al destino debería coincidir con la llegada del paquete pn-a. De manera similar, p se puede determinar a través del conocimiento de la desaceleración relativa del trayecto codificado (es decir, puede estar relacionado con el número de paquetes que "superarán" al paquete codificado cuando el paquete codificado se reciba en el nodo de destino). En este caso, el última momento en que el paquete codificado llega al destino debería coincidir con la llegada del paquete pn+b. En algunas realizaciones, a y p pueden ser fijos o variables. a >=0, p >= 0 puede ser fijo o variable. Sus valores se pueden determinar por el origen, el destino o un controlador de red, a partir de cualquier información que puedan tener (tal como realimentación de llegadas de paquetes, información del estado del canal, etc.) y transmitir al origen. Por ejemplo, la Fig. 9 y la Tabla 4 ilustran un caso en donde a = p = 1.
La oportunidad de transmisión en el trayecto codificado se puede dictar o afectar por varios factores tales como restricciones de carga, restricciones de congestión, protocolo de control de acceso al medio, tasa de información objetivo, etc.
La tasa de información R se puede ajustar para compensar las pérdidas de paquetes en el trayecto principal o para reemplazar las pérdidas de trayecto.
La codificación sistemática se supone anteriormente. Sin embargo, algunos paquetes en el trayecto principal se pueden codificar para proteger contra pérdidas de paquetes en el trayecto principal. En ese caso, los paquetes en el trayecto codificado (secundario) pueden usar los trayectos codificados programados para la transmisión en el trayecto principal o saltárselas. Si los paquetes codificados se utilizan como paquetes de origen, entonces los paquetes codificados generados para el trayecto secundario (codificado) se pueden recodificar.
Los parámetros para el nodo de origen (grupo de paquetes a ser transmitido en cualquier punto de tiempo, tasa de información, trayectos disponibles, cargas de trayectos asignados) se pueden recibir de un nodo externo (por ejemplo, un controlador de red) o determinar a través de cualquier mecanismo local o externo (por ejemplo, fijo, estado del canal, estado de la red, realimentación del destino, realimentación de la red, etc.).
Haciendo referencia ahora a la Fig. 11, el diagrama muestra la programación de la transmisión y codificación de paquetes en el nodo de origen. Esta técnica puede usar un número a de paquetes no codificados transmitidos 952a, 952b,... 952n y un número p de paquetes no codificados no transmitidos 954a, 954b, 9,... 954m, 954n. Por ejemplo, la Fig. 9 / la Tabla 4 muestran un caso en donde a = 1, p = 0 (tomar un paquete anterior y ningún paquete posterior).
La técnica mencionada anteriormente supone que el nodo de origen almacena temporalmente a o más paquetes después de la transmisión y tiene acceso a p o más paquetes a ser transmitidos. En este caso, con respecto a los paquetes anteriores, el requisito de almacenamiento temporal se puede imponer en el origen, o el origen puede codificar tantos paquetes como estén disponibles, hasta a. Por otro lado, con respecto a los paquetes posteriores, el nodo de origen puede codificar tantos paquetes como estén disponibles, hasta p. El origen también puede solicitar hasta p paquetes del proceso de generación de paquetes (por ejemplo, capa de aplicación, caché de contenido/aplicación de servidor, etc.).
Diagramas de flujo
Las Figs. 10A y 10B son una serie de diagramas de flujo que ilustran el procesamiento que se puede implementar dentro de dispositivos o sistemas de un sistema informático. Los elementos rectangulares (tipificados por el elemento 1002 en la Fig. 10A), denotados en la presente memoria "bloques de procesamiento", representan instrucciones de software informático o grupos de instrucciones. Los elementos en forma de diamante (no mostrados), denotados en la presente memoria "bloques de decisión", representan instrucciones de software informático, o grupos de instrucciones, que afectan a la ejecución de las instrucciones de software informático representadas por los bloques de procesamiento.
Alternativamente, los bloques de procesamiento y decisión pueden representar pasos realizados por circuitos funcionalmente equivalentes tales como un circuito de procesador de señal digital (DSP) o un circuito integrado de aplicaciones específicas (ASIC). Los diagramas de flujo no representan la sintaxis de ningún lenguaje de programación en particular, sino que más bien ilustran la información funcional que requiere un experto en la técnica para fabricar circuitos o generar software informático para realizar el procesamiento requerido del aparato en particular. Cabe señalar que muchos elementos del programa de rutina, tales como la inicialización de bucles y variables y el uso de variables temporales, se pueden omitir por claridad. La secuencia particular de bloques descrita es solo ilustrativa y se puede variar sin apartarse del espíritu de los conceptos, sistemas, dispositivos y técnicas que se busca proteger en la presente memoria. Por tanto, a menos que se indique lo contrario, los bloques que se describen a continuación no están ordenados, lo que significa que, cuando sea posible, las funciones representadas por los bloques se pueden realizar en cualquier orden conveniente o deseable.
Haciendo referencia a la Fig. 10A, un ejemplo de un proceso para preparar parámetros para la transmisión es 1000. El proceso 1000 puede preparar parámetros a ser utilizados para la transmisión codificada multitrayecto.
En algunas realizaciones, los parámetros de red se pueden recibir (en el bloque de procesamiento 1002) desde un nodo externo o un sistema externo (por ejemplo, un controlador de red, un sistema de gestión de red). Los parámetros pueden incluir el tamaño del grupo de paquetes, la tasa de información (o tasa de código), los trayectos disponibles y las cargas de trayectos asignadas. El nodo externo o el sistema externo puede proporcionar información adicional sobre la red, tal como el estado del canal, el estado de la red, la realimentación del destino, la realimentación de la red y otros. En otras realizaciones, la información sobre la red se puede almacenar internamente. Uno o más parámetros se pueden usar por cualquier nodo (por ejemplo, uno o más de un nodo de origen, un nodo intermedio y/o un nodo de destino) y tales parámetros incluyen, pero no se limitan a: un grupo de paquetes a ser transmitido en cualquier punto en el tiempo, siendo definido por a y p; una tasa de información; trayectos disponibles; y cargas de trayectos asignadas.
Según la información sobre la red, se pueden determinar los parámetros de la red (en el bloque de procesamiento 1004). Cuando un nodo externo o un sistema externo proporciona parámetros de red, se pueden calcular o determinar parámetros de red adicionales según los parámetros de red proporcionados. Por ejemplo, según la información proporcionada sobre trayectos disponibles y cargas de trayectos asignadas, se puede calcular o determinar una tasa de código.
En el bloque de procesamiento 1006, el proceso 1000 determina los trayectos de transmisión. En algunas realizaciones, todos los trayectos disponibles se pueden determinar para ser utilizados para la transmisión de paquetes. En otra realización, se puede seleccionar un subconjunto de los trayectos disponibles para la transmisión de paquetes. En el bloque de procesamiento 1008, el proceso 1000 determina el modo de transmisión. Los paquetes se pueden transmitir a través de los trayectos de transmisión de manera uniforme o según la carga del trayecto. El proceso 1000 puede considerar los trayectos disponibles, las cargas de trayectos asignadas, el número de paquetes a transmitir y/o la tasa de información para determinar el modo de transmisión. Por ejemplo, si las cargas de trayectos asignadas son iguales o cercanas a iguales, se puede seleccionar el modo de carga igual como modo de transmisión.
En el bloque de procesamiento 1010, el proceso 1000 determina una tasa de información (o tasa de código). La tasa de información, o tasa de código, R se puede definir para cualquier grupo nativo de paquetes como el número de paquetes nativos dividido por el número total de paquetes nativos y codificados asociados. La tasa de información R es mayor que cero y puede ser igual a 1 o menor que 1. Para determinar la tasa de información se pueden considerar la latencia deseada, la fiabilidad de los trayectos de red, los anchos de banda y otros parámetros. En algunas realizaciones, la tasa de información puede estar dada por un nodo o sistema externo (en el bloque de procesamiento 1002). En otras realizaciones, el proceso 1000 puede revisar la tasa de información proporcionada por el nodo o sistema externo según otros parámetros de la red.
En el bloque de procesamiento 1002, el proceso 1000 determina los paquetes a ser codificados. La codificación para generar un paquete codificado se basa en un conjunto de paquetes no codificados. El conjunto de paquetes no codificados comprende un siguiente paquete no codificado a ser transmitido, a paquetes no codificados previamente transmitidos y p paquetes no codificados que se van a transmitir después del siguiente paquete no codificado. Aquí a es un número entero igual o mayor que cero, p es un número entero igual o mayor que cero y a+p es mayor que cero. El valor de a y p se decide según los anchos de banda de la red, la potencia de la CPU del destino o cualquier otro factor.
Haciendo referencia a la Fig. 10B, el proceso 1050 ilustra un ejemplo de transmisión de paquetes con un modo de transmisión de carga igual. Un nodo de origen puede recibir paquetes nativos para transmitir desde un nodo externo (en el bloque de procesamiento 1052). En el bloque de procesamiento 1054, los paquetes codificados se generan a partir de los paquetes nativos. Se pueden seleccionar y usar diversas técnicas para codificar paquetes nativos. Por ejemplo, se puede utilizar una combinación lineal con coeficiente. En algunas realizaciones, los paquetes pueden estar todos codificados antes de la transmisión. En otras realizaciones, una parte de los paquetes nativos se pueden codificar cuando comienza la transmisión, y los paquetes restantes se pueden codificar a medida que continúa la transmisión.
Bajo carga de transmisión de carga igual, los paquetes no codificados y los paquetes codificados se transmiten uniformemente a través de los trayectos de transmisión, que se seleccionan según los parámetros de la red en el bloque de procesamiento 1006 de la Fig. 10A. Los paquetes no codificados y los paquetes codificados se pueden distribuir a través de los trayectos de transmisión según las restricciones de la red, tales como la carga disponible de los trayectos codificados, las oportunidades de transmisión del control de acceso al medio, la congestión del trayecto y cualquier otro factor. En una realización, los paquetes nativos y los paquetes codificados se pueden transmitir secuencialmente a través de los trayectos de transmisión de forma circular. Por ejemplo, cuando los trayectos de transmisión P1, P2, P3 se utilizan para la transmisión, el proceso 1050 puede transmitir paquetes en el orden de P1→P2→P3→P1→... En otra realización, los paquetes se pueden transmitir en el orden de P1 → P2→ P3→ P4→ P2→ P1 En otra realización, se puede usar un método adecuado para distribuir paquetes uniformemente a través de trayectos de transmisión.
En el bloque de procesamiento 1058, cuando los paquetes codificados se reciben en un destino, los paquetes codificados se decodifican según una técnica de codificación utilizada para codificar paquetes nativos en el bloque de procesamiento 1054. Un nodo de destino puede obtener paquetes nativos de la decodificación de los paquetes codificados. Por ejemplo, el nodo de destino puede obtener los paquetes nativos A y B decodificando un paquete codificado A+B.
En el bloque de procesamiento 1060, el destino recupera información de paquetes no codificados utilizando información de paquetes codificados que se reciben y decodifican. Por ejemplo, usando el ejemplo ilustrado en la Fig. 7, cuando el destino 200 obtiene el paquete nativo B 714 a través de P1 110 y obtiene el paquete codificado A-B 722 a través de P2 120, el destino 200 puede determinar que recibió todos los paquetes A, B dado que el destino 200 puede obtener el paquete A decodificando A-B.
Haciendo referencia ahora a la Fig. 12, una implementación ilustrativa de un sistema de red 1200 que puede ser adecuado para implementar las técnicas de procesamiento descritas en la presente memoria incluye un procesador 1202, una memoria volátil 1204, una memoria no volátil 1208 (por ejemplo, disco duro, memoria flash) y el módulo de interfaz 1206 (por ejemplo, una interfaz de usuario, una interfaz USB, etc.). La memoria no volátil 1208 almacena instrucciones de programa 1210, un sistema operativo 1212 y datos 1214. En un ejemplo, las instrucciones de programa 1212 se ejecutan por el procesador 1202 desde la memoria volátil 1204 para realizar todos o parte de los procesos descritos en la presente memoria (por ejemplo, los procesos 1000).
Los procesos descritos en la presente memoria (por ejemplo, el proceso 1000) no se limitan al uso con el hardware y el software de la Fig. 12; pueden encontrar aplicabilidad en cualquier entorno informático o de procesamiento y con cualquier tipo de máquina o conjunto de máquinas que sea capaz de ejecutar un programa informático. Los procesos descritos en la presente memoria se pueden implementar en hardware, software o una combinación de los dos. Los procesos descritos en la presente memoria se pueden implementar en programas informáticos ejecutados en ordenadores/máquinas programables que incluyen, cada uno, un procesador, un medio legible por máquina no transitorio u otro artículo de fabricación que sea legible por el procesador (incluyendo memoria volátil y no volátil y/o elementos de almacenamiento), al menos un dispositivo de entrada y uno o más dispositivos de salida. El código de programa se puede aplicar a los datos introducidos usando un dispositivo de entrada para realizar cualquiera de los procesos descritos en la presente memoria y para generar información de salida.
El sistema se puede implementar, al menos en parte, a través de un producto de programa de ordenador (por ejemplo, en un medio de almacenamiento legible por máquina no transitorio, tal como, por ejemplo, un medio legible por ordenador no transitorio), para su ejecución por, o para controlar la operación de, un aparato de procesamiento de datos (por ejemplo, un procesador programable, un ordenador o múltiples ordenadores). Cada uno de tales programas se puede implementar en un lenguaje de programación orientado a objetos, funcional o procedimental de alto nivel para trabajar con el resto del sistema basado en ordenador. Sin embargo, los programas se pueden implementar en ensamblador, lenguaje de máquina o Lenguaje de Descripción de Hardware. El lenguaje puede ser un lenguaje compilado o uno interpretado, y se puede desplegar en cualquier forma, incluyendo como un programa autónomo o como un módulo, componente, subrutina u otra unidad adecuada para su uso en un entorno informático. Un programa informático se puede desplegar para ser ejecutado en un ordenador o múltiples ordenadores en un sitio o distribuir en múltiples sitios e interconectar mediante una red de comunicación. Un programa de ordenador se puede almacenar en un medio no transitorio legible por máquina que es legible por un ordenador programable de propósito general o especial para configurar y operar el ordenador cuando el medio no transitorio legible por máquina se lee por el ordenador para realizar los procesos descritos en la presente memoria. Por ejemplo, los procesos descritos en la presente memoria también se pueden implementar como un medio de almacenamiento legible por máquina no transitorio, configurado con un programa informático, donde tras la ejecución, las instrucciones en el programa informático hacen que el ordenador opere según los procesos. Un medio legible por máquina no transitorio puede incluir, pero no se limita a, un disco duro, un disco compacto, una memoria flash, una memoria no volátil, una memoria volátil, un disquete magnético, etc., pero no incluye una señal transitoria per se,
Un concepto que se busca proteger en esta solicitud es la creación y el uso de paquetes codificados que permiten menores retardos de entrega de paquetes individuales (es decir, que probablemente permitan decodificar eventos en el destino, liberando por tanto un nuevo paquete). En algunas realizaciones, la realimentación puede ser útil, pero puede no estar disponible. Sin realimentación o conocimiento de los retardos en el trayecto en el nodo de origen, el nodo de origen puede simplemente codificar los próximos N >= 2 paquetes a ser transmitidos cuando haya una oportunidad de transmisión (por ejemplo, N=2 en la Fig. 9). Con el conocimiento de los retardos del trayecto (o las diferencias de retardo), el nodo de origen puede estimar las llegadas de paquetes al destino y crear un paquete codificado que probablemente permita la decodificación. En la presente memoria, la realimentación puede ser útil para estimar los retardos de trayecto.
Además, el sistema multitrayecto codificado paramétrico descrito en la presente aplicación permite la consideración de la redundancia (e idealmente, la redundancia total) y el número de trayectos y la determinación de los parámetros de red que permiten ganancias de latencia al mismo tiempo que se mejora la fiabilidad (es decir, transmitir paquetes con éxito incluso con pérdida de trayecto).

Claims (15)

REIVINDICACIO NES
1. Un nodo de origen (100) dispuesto para comunicarse con uno o más nodos de destino (408) a través de una red, la red que tiene una pluralidad de trayectos (406, 414) entre el nodo de origen y el uno o más nodos de destino, el nodo de origen que comprende:
un procesador y una memoria configurada para:
preparar al menos uno de una pluralidad de paquetes no codificados para su transmisión en el primero (P1) de la pluralidad de trayectos desde el nodo de origen (S) hasta un nodo de destino (D); y
generar (1054) un primer paquete codificado para su transmisión en un segundo, (P2), diferente, de la pluralidad de trayectos desde el nodo de origen (S) hasta el nodo de destino (D), el primer paquete codificado basado en un conjunto de paquetes no codificados, en donde el conjunto de paquetes no codificados comprende:
un siguiente paquete no codificado a ser transmitido por el nodo de origen;
a paquetes no codificados previamente transmitidos donde a es un número entero igual o mayor que cero; y
p paquetes no codificados que se van a transmitir después del siguiente paquete no codificado donde p es un número entero igual o mayor que cero;
en donde la suma de a y p es mayor que cero, caracterizado por que el procesador y la memoria están configurados además para determinar p en base a los retardos relativos del primero (P1) de la pluralidad de trayectos y el segundo (P2) de la pluralidad de trayectos.
2. El nodo de origen de la reivindicación 1, en donde el procesador del nodo de origen y una memoria están configurados además para:
generar un segundo paquete codificado; y
transmitir el segundo paquete codificado en un tercer trayecto diferente (P3),
en donde los paquetes codificados y los paquetes no codificados se distribuyen al segundo trayecto y al tercer trayecto proporcionalmente a la carga del segundo y tercer trayectos respectivamente.
3. El nodo de origen de la reivindicación 1, en donde a se determina según una aceleración relativa del segundo trayecto.
4. El nodo de origen de la reivindicación 1, en donde el nodo de origen está configurado además para utilizar parámetros de red para la transmisión de paquetes a través de la red, en donde los parámetros de red para el nodo de origen incluyen al menos uno de:
un grupo de paquetes a ser transmitido en cualquier momento, que está definido por a y p;
una tasa de información;
trayectos disponibles; y
cargas de trayectos asignadas.
5. El nodo de origen de la reivindicación 4, en donde los parámetros de red para un nodo de origen se determinan en el nodo de origen según la información recibida externamente.
6. El nodo de origen de la reivindicación 5, en donde la información recibida externamente incluye uno o más de: (a) estado del canal/trayecto, (b) estado de la red, (c) realimentación del destino y (d) realimentación de la red.
7. Un nodo de destino (408) dispuesto para recibir datos de uno o más nodos de origen (400) a través de una red, la red que tiene una pluralidad de trayectos (406, 414) entre el nodo de destino y el uno o más nodos de origen, el nodo de destino que comprende un procesador y una memoria configurada para:
recibir al menos uno de una pluralidad de paquetes originales asociados con un primer trayecto;
recibir al menos un paquete codificado asociado con un segundo trayecto, cada uno de los paquetes codificados se basa en un paquete no codificado correspondiente más a+p paquetes no codificados programados para su transmisión en el primer trayecto, en donde a es un número entero igual o mayor que cero que indica una número de paquetes no codificados transmitidos en el primer trayecto previamente al paquete no codificado correspondiente, p es un número entero igual o mayor que cero que indica un número de paquetes no codificados transmitidos en el primer trayecto después del paquete no codificado correspondiente, a+p es mayor que cero, y
decodificar (1058) los paquetes codificados y recuperar información de los paquetes originales en base a la información de los paquetes codificados, caracterizado por que el procesador y la memoria están configurados además para determinar p en base a los retardos relativos del primer y segundo trayectos.
8. El nodo de destino de la reivindicación 7, en donde el procesador y la memoria del nodo de destino están configurados además para recuperar información en toda la pluralidad de paquetes de datos originales, decodificando el al menos uno de los paquetes de datos codificados, sin requerir recibir toda la pluralidad de los paquetes originales sobre el primer trayecto.
9. Un método para transmitir paquetes operables en un nodo de origen de una red que tiene una pluralidad de nodos con al menos uno de la pluralidad de nodos correspondiente al nodo de origen y al menos uno de la pluralidad de nodos correspondiente a un nodo de destino, y que tiene una pluralidad de trayectos entre al menos un nodo de origen y al menos un nodo de destino, en un nodo de origen (S), el método que comprende:
preparar al menos uno de una pluralidad de paquetes no codificados para su transmisión en el primero (P1) de la pluralidad de trayectos desde el nodo de origen (S) hasta un nodo de destino (D);
generar un primer paquete codificado para su transmisión en un segundo (P2), diferente, de la pluralidad de trayectos desde el nodo de origen (S) al nodo de destino (D), el primer paquete codificado basado en un conjunto de paquetes no codificados, en donde el conjunto de paquetes no codificados comprende:
un siguiente paquete no codificado a ser transmitido por el nodo de origen;
a paquetes no codificados previamente transmitidos donde a es un número entero igual o mayor que cero; y p paquetes no codificados que se van a transmitir después del siguiente paquete no codificado donde p es un número entero igual o mayor que cero;
donde la suma de a y p es mayor que cero, caracterizado por:
determinar p en base a los retardos relativos del primero (P1) de la pluralidad de trayectos y el segundo (P2) de la pluralidad de trayectos.
10. El método de la reivindicación 9, en donde el nodo de destino (D) recupera información de al menos uno del conjunto de paquetes no codificados, decodificando el primer paquete codificado, sin recibir al menos uno del conjunto de paquetes no codificados.
11. El método de la reivindicación 9 que comprende, además:
generar un segundo paquete codificado; y
transmitir el segundo paquete codificado en un tercer trayecto (P3) diferente.
12. El método de la reivindicación 9, en donde el nodo de origen está configurado además para utilizar parámetros de red para la transmisión de paquetes a través de la red y en donde los parámetros de red para el nodo de origen incluyen, pero no se limitan a:
un grupo de paquetes a ser transmitido en cualquier momento, que está definido por a y p;
una tasa de información;
trayectos disponibles; y
cargas de trayectos asignadas.
13. El método de la reivindicación 12, en donde los parámetros para un nodo de origen se determinan en el nodo de origen según la información recibida externamente.
14. El método de la reivindicación 13, en donde la información recibida externamente incluye uno o más de: (a) un estado del canal/trayecto, (b) un estado de la red, (c) una realimentación del destino y (d) una realimentación de la red.
15. Un método operable en un nodo de destino de un sistema multitrayecto que comprende:
recibir al menos uno de una pluralidad de paquetes originales asociados con un primer trayecto;
recibir al menos un paquete codificado asociado con un segundo trayecto, cada uno de los paquetes codificados que se basa en un paquete no codificado correspondiente más a+p paquetes no codificados programados para su transmisión en el primer trayecto, en donde a es un número entero igual o mayor que cero que indica un número de paquetes no codificados transmitidos en el primer trayecto previamente al paquete no codificado correspondiente, p es un número entero igual o mayor que cero que indica un número de paquetes no codificados transmitidos en el primer trayecto después del paquete no codificado correspondiente, a+p es mayor que cero, y
decodificar los paquetes codificados y recuperar la información de los paquetes originales en base a la información de los paquetes codificados, caracterizado por:
determinar p en base a los retardos relativos del primer y segundo trayectos.
ES19729119T 2018-05-16 2019-05-16 Aparato de codificación multitrayecto y técnicas relacionadas Active ES2950133T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862672551P 2018-05-16 2018-05-16
PCT/US2019/032625 WO2019222472A1 (en) 2018-05-16 2019-05-16 Multipath coding apparatus and related techniques

Publications (1)

Publication Number Publication Date
ES2950133T3 true ES2950133T3 (es) 2023-10-05

Family

ID=66776884

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19729119T Active ES2950133T3 (es) 2018-05-16 2019-05-16 Aparato de codificación multitrayecto y técnicas relacionadas

Country Status (5)

Country Link
US (1) US11418449B2 (es)
EP (1) EP3794755B1 (es)
CN (1) CN112385159B (es)
ES (1) ES2950133T3 (es)
WO (1) WO2019222472A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11777846B2 (en) * 2020-05-06 2023-10-03 Nokia Solutions And Networks Oy Ultra reliable segment routing
US20230036520A1 (en) * 2022-10-01 2023-02-02 Intel Corporation Apparatus, system, and method of wireless communication based on a network coding (nc) scheme

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577056A (en) 1995-02-24 1996-11-19 Hughes Aircraft Co. Method and apparatus for adjusting the postamble false detection probability threshold for a burst transmission
US6359923B1 (en) 1997-12-18 2002-03-19 At&T Wireless Services, Inc. Highly bandwidth efficient communications
US6128773A (en) 1997-10-01 2000-10-03 Hewlett-Packard Company Automatically measuring software complexity
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US8949456B2 (en) 1998-05-29 2015-02-03 Blackberry Limited System and method for redirecting data to a wireless device over a plurality of communication paths
JP2003520550A (ja) 2000-01-17 2003-07-02 サムスン エレクトロニクス カンパニー リミテッド 非同期符号分割多重接続通信システムの逆方向同期伝送方式に対する直交符号割り当て装置及び方法
US7432935B2 (en) 2002-11-19 2008-10-07 Mental Images Gmbh Image synthesis methods and systems for generating sample points in a graphics scene
US20110238855A1 (en) 2000-09-25 2011-09-29 Yevgeny Korsunsky Processing data flows with a data flow processor
GB2367459A (en) 2000-09-28 2002-04-03 Roke Manor Research Method of compressing data packets
US7064489B2 (en) 2000-09-28 2006-06-20 Roke Manor Research Limited Huffman data compression method
WO2002057946A1 (en) 2001-01-18 2002-07-25 The Board Of Trustees Of The University Of Illinois Method for optimizing a solution set
US7095343B2 (en) 2001-10-09 2006-08-22 Trustees Of Princeton University code compression algorithms and architectures for embedded systems
US7502317B2 (en) 2002-05-17 2009-03-10 Alcatel-Lucent Usa Inc. Method for differentiating services and users in communication networks
US7164691B2 (en) 2002-06-26 2007-01-16 Standard Microsystems Corporation Communication system and method for sending isochronous streaming data across a synchronous network within a frame segment using a coding violation to signify invalid or empty bytes within the frame segment
US7283564B2 (en) 2002-06-26 2007-10-16 Standard Microsystems Corp. Communication system and method for sending asynchronous data and/or isochronous streaming data across a synchronous network within a frame segment using a coding violation to signify at least the beginning of a data transfer
US20040203752A1 (en) 2002-11-18 2004-10-14 Toshiba America Information Systems, Inc. Mobility communications system
US7574518B2 (en) 2003-06-23 2009-08-11 Microsoft Corporation System and method for computing low complexity algebraic network codes for a multicast network
US7773506B2 (en) 2003-10-14 2010-08-10 Qualcomm Incorporated Method and apparatus for data communications over multiple channels
US7349440B1 (en) 2003-10-15 2008-03-25 Microsoft Corporation System and method for broadcasting information over a network
US7408938B1 (en) 2003-10-15 2008-08-05 Microsoft Coporation System and method for efficient broadcast of information over a network
US7706365B2 (en) 2003-11-25 2010-04-27 California Institute Of Technology Randomized distributed network coding
US7225382B2 (en) 2004-05-04 2007-05-29 Telefonakiebolaget Lm Ericsson (Publ) Incremental redundancy operation in a wireless communication network
US7756051B2 (en) 2004-07-02 2010-07-13 Microsoft Corporation Content distribution using network coding
EP1638239A1 (en) 2004-09-20 2006-03-22 Alcatel Extended repeat request scheme for mobile communication networks
US7414978B2 (en) 2004-12-30 2008-08-19 Massachusetts Institute Of Technology Minimum-cost routing with network coding
US8102837B2 (en) 2004-12-30 2012-01-24 Massachusetts Institute Of Technology Network coding approach to rapid information dissemination
US20060224760A1 (en) 2005-03-15 2006-10-05 1000 Oaks Hu Lian Technology Development (Beijing) Co., Ltd. Method and system for providing streaming content in a peer-to-peer network with network coding
US7529198B2 (en) 2005-04-07 2009-05-05 Microsoft Corporation Scalable overlay network
US7599873B2 (en) 2005-07-19 2009-10-06 Etf Labs, Llc System and method for ETF investing
EP1780924A1 (en) 2005-10-31 2007-05-02 Siemens Aktiengesellschaft Method to determine the number of data streams to be used in a MIMO system
FR2893798B1 (fr) 2005-11-21 2008-01-04 Alcatel Sa Dispositif et procede de generation de rafales composites a preservation de priorite, pour un equipement d'un reseau de communication a commutation de rafales
DE602005021807D1 (de) 2005-12-22 2010-07-22 Microsoft Corp Optimierungen für Netzwerkkodierung und Netzwerkdekodierung
US7664198B2 (en) 2006-03-21 2010-02-16 Kyocera Corporation System and method for broadcasting data over a wireless network using rateless codes
US8040836B2 (en) 2006-05-26 2011-10-18 Microsoft Corporation Local network coding for wireless networks
WO2007140437A2 (en) 2006-05-31 2007-12-06 Cornell Research Foundation, Inc. Methods and systems for space-time coding for distributed cooperative communication
US20100014669A1 (en) 2006-07-13 2010-01-21 Wenyu Jiang Codec-independent encryption of material that represents stimuli intended for human perception
US7821980B2 (en) 2006-08-03 2010-10-26 Nokia Corporation Variable rate soft information forwarding
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8027284B2 (en) 2006-11-27 2011-09-27 Ntt Docomo, Inc. Method and apparatus for reliable multicasting in wireless relay networks
CN101548498B (zh) 2006-11-29 2012-11-21 艾利森电话股份有限公司 具有线性独立数据分组编码的可靠多播
US7876677B2 (en) 2007-05-22 2011-01-25 Apple Inc. Transmission control protocol queue sorting
US7945842B2 (en) 2007-06-19 2011-05-17 International Business Machines Corporation Method and apparatus for rateless source coding with/without decoder side information
US7912003B2 (en) 2007-06-27 2011-03-22 Microsoft Corporation Multipath forwarding algorithms using network coding
US8705345B2 (en) 2007-11-26 2014-04-22 Iowa State University Research Foundation, Inc. Network protection using network coding
US8260952B2 (en) 2008-01-31 2012-09-04 Microsoft Corporation Multi-rate peer-assisted data streaming
US7916665B2 (en) 2008-03-18 2011-03-29 Canon Kabushiki Kaisha Method and device for building of a network coding scheme for data transmission, corresponding computer program product and storage means
CN101540778B (zh) * 2008-03-19 2014-09-03 华为技术有限公司 一种数据传输的方法、装置和系统
US20080259796A1 (en) 2008-04-17 2008-10-23 Glen Patrick Abousleman Method and apparatus for network-adaptive video coding
WO2009140625A1 (en) 2008-05-15 2009-11-19 Harris Stratex Networks Operating Corporation Systems and methods for distributed data routing in a wireless network
US8204086B2 (en) 2008-05-19 2012-06-19 Microsoft Corporation Natural network coding for multi-hop wireless network
US8068426B2 (en) 2008-05-29 2011-11-29 Massachusetts Institute Of Technology Feedback-based online network coding
US8509288B2 (en) 2008-06-04 2013-08-13 Polytechnic Institute Of New York University Spatial multiplexing gain for a distributed cooperative communications system using randomized coding
US8130228B2 (en) 2008-06-13 2012-03-06 International Business Machines Corporation System and method for processing low density parity check codes using a deterministic caching apparatus
WO2010005181A2 (en) 2008-06-16 2010-01-14 Lg Electronics Inc. Cooperative symbol level network coding in multi-channel wireless networks
WO2010025362A2 (en) 2008-08-28 2010-03-04 Massachusetts Institute Of Technology Random linear network coding for time division duplexing
US8504504B2 (en) 2008-09-26 2013-08-06 Oracle America, Inc. System and method for distributed denial of service identification and prevention
KR100970388B1 (ko) 2008-10-31 2010-07-15 한국전자통신연구원 네트워크 흐름기반 스케일러블 비디오 코딩 적응 장치 및 그 방법
US8130776B1 (en) 2009-08-28 2012-03-06 Massachusetts Institute Of Technology Method and apparatus providing network coding based flow control
EP2486696B1 (en) 2009-10-06 2014-04-02 Thomson Licensing A method and apparatus for hop-by-hop reliable multicast in wireless networks
WO2011050301A2 (en) 2009-10-22 2011-04-28 Interdigital Patent Holdings, Inc. Method and apparatus for a two-way relaying scheme with physical layer network coding
EP2550806B1 (en) 2010-03-25 2019-05-15 Massachusetts Institute of Technology Secure network coding for multi-resolution wireless video streaming
TWI423612B (zh) * 2010-05-27 2014-01-11 Acer Inc 端對端混合式自動重送請求方法及其系統
US8482441B2 (en) 2011-06-03 2013-07-09 Massachusetts Institute Of Technology Method and apparatus to perform functional compression
US9294113B2 (en) 2011-07-05 2016-03-22 Massachusetts Institute Of Technology Energy-efficient time-stampless adaptive nonuniform sampling
US9264353B2 (en) 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
US9143274B2 (en) 2011-10-31 2015-09-22 Massachusetts Institute Of Technology Traffic backfilling via network coding in a multi-packet reception network
WO2013067488A1 (en) 2011-11-05 2013-05-10 Massachusetts Institute Of Technology Method and apparatus for efficient transmission of information to multiple nodes
US8780693B2 (en) * 2011-11-08 2014-07-15 Massachusetts Institute Of Technology Coding approach for a robust and flexible communication protocol
CN102547856B (zh) * 2011-12-02 2015-07-08 湖北经济学院 一种Ad Hoc网络中基于网络编码的多路径路由方法
US9537759B2 (en) 2012-01-31 2017-01-03 Massachusetts Institute Of Technology Multi-path data transfer using network coding
US9160687B2 (en) 2012-02-15 2015-10-13 Massachusetts Institute Of Technology Method and apparatus for performing finite memory network coding in an arbitrary network
US20160157127A1 (en) 2012-05-09 2016-06-02 Massachusetts Institute Of Technology Method and Apparatus for Packet Capture Using Preambles and Postambles
US9209943B1 (en) * 2012-06-06 2015-12-08 Bae Systems Information And Electronic Systems Integration Inc. Control over network coding for enhanced radio transport optimization
US9369255B2 (en) 2012-10-18 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for reducing feedback and enhancing message dissemination efficiency in a multicast network
JP2016513825A (ja) 2013-03-14 2016-05-16 マサチューセッツ インスティテュート オブ テクノロジー 安全通信方法および装置
US9369541B2 (en) 2013-03-14 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for implementing distributed content caching in a content delivery network
US9607003B2 (en) 2013-03-14 2017-03-28 Massachusetts Institute Of Technology Network coded storage with multi-resolution codes
US9019643B2 (en) 2013-03-15 2015-04-28 Massachusetts Institute Of Technology Method and apparatus to reduce access time in a data storage device using coded seeking
US9185529B2 (en) 2013-03-15 2015-11-10 Massachusetts Institute Of Technology Wireless reliability architecture and methods using network coding
PL2972864T3 (pl) * 2013-03-15 2020-12-14 Michelle Effros Sposób i urządzenie do poprawy wydajności komunikacji przez kodowanie sieciowe
CN103561445B (zh) * 2013-11-12 2016-08-17 北京工业大学 一种基于网络编码的无线传感网多路径路由方法
CN104753627A (zh) * 2013-12-26 2015-07-01 中兴通讯股份有限公司 多路径传输方法、系统及数据发送装置和数据接收装置
GB201404535D0 (en) * 2014-03-14 2014-04-30 Nat Univ Ireland Low-delay packet erasure coding
DE102015116157A1 (de) * 2015-09-24 2017-03-30 Intel IP Corporation Mobilkommunikationssystem unter Verwendung von Subcodiertechniken
EP3244581B1 (en) * 2016-05-09 2020-03-04 Alcatel Lucent Multi-path wireless communication
EP3252978A1 (en) * 2016-06-01 2017-12-06 Alcatel Lucent Apparatuses, methods and computer programs for transmitting or receiving payload data and payload recovery data
CN107483349A (zh) * 2016-06-07 2017-12-15 华为技术有限公司 传输数据流的方法与设备

Also Published As

Publication number Publication date
WO2019222472A1 (en) 2019-11-21
EP3794755C0 (en) 2023-07-05
EP3794755A1 (en) 2021-03-24
US11418449B2 (en) 2022-08-16
CN112385159A (zh) 2021-02-19
EP3794755B1 (en) 2023-07-05
US20210203603A1 (en) 2021-07-01
CN112385159B (zh) 2024-07-19

Similar Documents

Publication Publication Date Title
ES2673513T3 (es) Procedimientos que emplean códigos de FEC con inactivación permanente de símbolos para procesos de codificación y decodificación
US10187209B2 (en) Cumulative schemes for network path proof of transit
ES2856961T3 (es) Método y aparato para generar código Polar híbrido
US9363078B2 (en) Method and apparatus for hardware-accelerated encryption/decryption
KR102601215B1 (ko) 폴라 코딩 장치
JP4799616B2 (ja) ルータ及びルーティングネットワーク
US10193566B2 (en) Encoding/decoding system for parallel data
Finn et al. Deterministic networking problem statement
US20160112308A1 (en) Sparse graph coding scheduling for deterministic ethernet
Leong et al. On coding for real-time streaming under packet erasures
Li et al. Time-triggered switch-memory-switch architecture for time-sensitive networking switches
ES2950133T3 (es) Aparato de codificación multitrayecto y técnicas relacionadas
US20150127974A1 (en) Method of storing a data item in a distributed data storage system, corresponding storage device failure repair method and corresponding devices
KR101653121B1 (ko) 통합 시큐리티 장치 및 통합 시큐리티 장치에 이용되는 신호 처리 방법
TW200803242A (en) Physical layer processing for a wireless communication system using code division multiple access
JP2008067152A (ja) データ処理装置
TW201014202A (en) Decoding circuit and encoding circuit
Reusch et al. Work-in-progress: Safe and secure configuration synthesis for TSN using constraint programming
US10686616B2 (en) System and method to control latency of serially-replicated multi-destination flows
US20150248323A1 (en) Partitioned error code computation
JP4938763B2 (ja) ブロードキャスト暗号化システムにおけるタグの形成方法
ES2924311T3 (es) Codificación lineal de red con generación predeterminada de coeficientes por medio de inicialización y reutilización de parámetros
Engelberg et al. Reliable communications across parallel asynchronous channels with arbitrary skews
Song et al. Secure frame format for avoiding replay attack in Distributed Network Protocol (DNP3)
ES2390143A1 (es) Sistema y método de almacenamiento y retransmisión de datos con múltiples saltos y múltiples trayectorias para transferencias masivas.