ES2951320T3 - Sistema y método para transmisión de trayectorias múltiples - Google Patents

Sistema y método para transmisión de trayectorias múltiples Download PDF

Info

Publication number
ES2951320T3
ES2951320T3 ES21169634T ES21169634T ES2951320T3 ES 2951320 T3 ES2951320 T3 ES 2951320T3 ES 21169634 T ES21169634 T ES 21169634T ES 21169634 T ES21169634 T ES 21169634T ES 2951320 T3 ES2951320 T3 ES 2951320T3
Authority
ES
Spain
Prior art keywords
data path
type data
capacity
buffer
scheduler
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
ES21169634T
Other languages
English (en)
Inventor
Markus Amend
Dr Eckard Bogenfeld
Anna Brunstrom
Marcus Pieska
Prof Andreas Kassler
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.)
Deutsche Telekom AG
Original Assignee
Deutsche Telekom AG
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 Deutsche Telekom AG filed Critical Deutsche Telekom AG
Application granted granted Critical
Publication of ES2951320T3 publication Critical patent/ES2951320T3/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
    • 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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • 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/11Identifying congestion
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Radio Transmission System (AREA)
  • Radio Relay Systems (AREA)

Abstract

La invención proporciona un sistema planificador de acceso múltiple configurado para recibir paquetes de un remitente y transmitir paquetes a un receptor a través de una red de comunicaciones, comprendiendo el sistema planificador de acceso múltiple un planificador de rutas múltiples configurado para programar el tráfico de datos para su transmisión a través de una ruta de datos de primer tipo. que tiene una primera capacidad y una ruta de datos de segundo tipo que tiene una segunda capacidad, comprendiendo la ruta de datos de primer tipo una primera memoria intermedia de cuello de botella y comprendiendo la ruta de datos de segundo tipo una segunda memoria intermedia de cuello de botella, en donde el planificador de rutas múltiples está configurado para programar paquetes en la primera cinta ruta de datos, a menos que la capacidad de la ruta de datos del primer tipo esté llena; Si la capacidad de la ruta de datos del primer tipo está llena y el nivel del búfer del primer cuello de botella comienza a crecer, el programador de rutas múltiples se configura para programar paquetes en la ruta de datos del segundo tipo hasta que la capacidad de la ruta del segundo tipo esté llena. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Sistema y método para transmisión de trayectorias múltiples
Campo técnico
La divulgación se relaciona con técnicas para programar el tráfico de datos para transmisión sobre múltiples trayectorias desde las cuales al menos una trayectoria es de un primer tipo, en particular una trayectoria de datos barata y al menos otra trayectoria es de un segundo tipo, en particular una trayectoria de datos costosa. La divulgación se relaciona además con un programador de trayectorias múltiples y con un método para programar el tráfico de datos de trayectorias múltiples. En particular, la invención se relaciona con un sistema, un dispositivo programador, y un método para recibir paquetes desde un remitente y transmitir paquetes a un receptor sobre una red de comunicaciones como se define en las reivindicaciones independientes.
Antecedentes de la invención
Varios protocolos de trayectorias múltiples similares al protocolo de control de transmisión de trayectorias múltiples, MPTCP de acuerdo con " A. Ford y C. Raiciu y M. Handley y O. Bonaventure, "TCP Extensions for Multipath Operation with Multiple Addresses", RFC no. 6824, enero de 2013" [1], Quentin Coninck y Olivier Bonaventure, "Multipath Extensions for QUIC (MP-QUIC)", draft-deconinck-quic-multipath-05, agosto de 2020 [2], Markus Amend y Anna Brunstrom y Andreas Kassler y Veselin Rakocevic, "DCCP Extensions for Multipath Operation with Multiple Addresses", draft-amend-tsvwg-multipath-dccp-03, noviembre de 2019 [3], y muchos otros ofrecen agregación de capacidad sobre varias trayectorias. Estas trayectorias pueden tener diferentes costes, por ejemplo barata y costosa o expresado en otros términos. Por ejemplo, la trayectoria barata puede ser una trayectoria WiFi y la trayectoria costosa puede ser una trayectoria de LTE (Evolución a Largo Plazo). El coste no significa necesariamente un pago directo, también se puede definir en términos de latencia, fiabilidad y muchas otras métricas.
Los protocolos de red de trayectorias múltiples tales como MPTCP [1], MP-DCCP [3] o MP-QUIC [2] permiten establecer más de un flujo de comunicación entre un remitente y un receptor. La figura 1 muestra un remitente, es decir un dispositivo transmisor, y un receptor (dispositivo receptor). Se establecen múltiples trayectorias 1 a n entre el remitente y el receptor. Un generador genera los paquetes de datos 1 a 15 que pasan por un módulo de secuenciación que asigna a cada paquete un número de secuencia respectivo. Los paquetes de datos secuenciados se pasan a un programador que programa los paquetes de datos para las trayectorias múltiples de un canal de trayectorias múltiples. Los paquetes de datos ordenados en la secuencia 12, 13, 14 se transmiten sobre el canal de trayectorias múltiples.
En el lado de remitente eso da la capacidad de decidir cómo programar el tráfico a través de estas trayectorias de comunicación 1-n representadas en la figura 1. Una programación eficiente se basa en una estimación de trayectoria adecuada, que caracteriza las capacidades de transporte de las trayectorias de comunicación como ancho de banda disponible o tiempo de ida y vuelta, RTT. Usando [1]-[3], se obtendrán estos valores desde el enfoque de control de congestión empleado como New Reno, Cubic, BBR, etc.
Muy a menudo, el objetivo de la programación de trayectorias múltiples es la distribución rentable del tráfico utilizando primero el flujo de comunicación menos costoso. Tal clase de programadores se denomina primer programador de tubería más barata, CPF, y se conocen a partir de los documentos EP 3544332 A1 [4] o EP 3579500 A1 [5], y [9]. Ambos usarán tradicionalmente la ventana de congestión de envío, que representa la capacidad de trayectoria restante, para programar decisiones cuando se usan con [1]-[3].
Mientras que los documentos EP 3544332 A1 o EP 3579500 A1 a menudo hacen bien su trabajo, hay situaciones donde no hacen un uso de manera eficiente de los recursos de trayectorias múltiples cuando se trata de la agregación de trayectorias de comunicación. Tal escenario particular se aproxima cuando el búfer de dispositivo de envío o red individual de flujo de comunicación (búfer de cuello de botella) tiende a absorber el tráfico usualmente rebosante o fracciones de este. Esto se vuelve problemático cuando el servicio en cascada sobre los sistemas de trayectorias múltiples ajustará su rendimiento con base en las mediciones de capacidad del primer flujo de comunicación considerando de manera espuria el búfer de cuello de botella como parte de esto. Esto puede llevar al hecho de que la primera trayectoria de comunicación se considere únicamente como suficiente sin crear ninguna demanda para activar un rebose en la segunda trayectoria de comunicación. La figura 2 representa una arquitectura de trayectorias múltiples que se basa en MP-DCCP para la transmisión de trayectorias múltiples de un servicio E2E entre Cliente y Servidor. La interfaz de red virtual asegurará la comunicación de servicio E2E sobre múltiples trayectorias al reenviar el tráfico sobre el sistema MP-DCCP. Es decir, cualquier información enrutada/enviada a través de VNIF se enviará al sistema MP-DCCP donde se encapsula y programa a través de las trayectorias de comunicación de DCCP. En el lado de receptor MP-DCCP, la información encapsulada pasa por un proceso de reordenamiento y la información original - después de retirar la sobrecarga de encapsulación - sale del VNIF para ser reenviada al destino original. Aquí se suponen dos trayectorias de comunicación "DSL" y "LTE", como se representa en la figura 2, las cuales ambas tienen al menos un búfer de capa de MAC que corresponde al búfer de cuello de botella antes mencionado. Se activa un rebose en el programador de CPF desde una primera trayectoria de comunicación a una segunda cuando la tasa de datos entrantes en el VNIF es mayor que la capacidad supuesta de la primera trayectoria de comunicación.
Se puede implementar una estructura similar que emplea el protocolo QUIC [9] usando el MP-QUIC [2] en lugar de MP-DCCP, el trabajo en QUIC MASQUE [7] para encapsulación (VNIF) y QUIC DATAGRAM [8] para transmisión no fiable - la naturaleza de DCCP.
El documento US 2017/156078 A1 se relaciona con un método para gestionar la congestión en un primer nodo en un sistema de comunicación inalámbrico que incluye: recibir información de estado desde cada uno de los nodos configurando una red con el primer nodo, recibir información sobre un criterio de requisito de servicio desde un segundo nodo como uno de los nodos, adquirir información de configuración de trayectoria adicional para el segundo nodo con base en la información de estado recibida desde cada uno de los nodos y la información sobre el criterio de requisito de servicio recibido desde el segundo nodo, y transmitir la información de configuración de trayectoria adicional adquirida al segundo nodo. El documento US 2021/014171 A1 se relaciona con un dispositivo programador de trayectorias múltiples para programar el tráfico de datos que incluye: al menos una trayectoria de datos de primer tipo; al menos una trayectoria de datos de segundo tipo; y un programador configurado para programar una primera porción del tráfico de datos para transmisión a través de la al menos una trayectoria de datos de primer tipo y para programar una segunda porción del tráfico de datos para transmisión retrasada a través de la al menos una trayectoria de datos de segundo tipo.
El objeto de la presente invención es proporcionar un concepto para resolver el problema mencionado anteriormente cuando se transmiten paquetes de datos sobre un canal de trayectorias múltiples. Un objeto adicional de la presente invención es introducir un sistema y método para evitar una subutilización de una segunda trayectoria para comunicación.
Los objetos anteriores y otros se logran mediante la materia objeto de las reivindicaciones independientes. Formas de implementación adicionales son evidentes a partir de las reivindicaciones dependientes, la descripción y las figuras.
Resumen de la invención
La invención se define en las reivindicaciones independientes 1, 9 y 10.
Aspectos preferidos o ventajosos se definen en las reivindicaciones dependientes.
En una realización, la presente invención asume una configuración similar a la que se muestra en la figura 2 con TCP BBR o DCCP CCID5 de ejemplo (BBR para DCCP) como el mecanismo de control de congestión para los flujos de comunicación de trayectorias múltiples, mientras que los servicios E2E a través de la configuración de trayectorias múltiples con diferentes mecanismos de control de congestión se evalúan comparando el efecto de un enfoque convencional conocido a partir de la técnica anterior y el programador de acuerdo con la invención.
En otra realización, la presente invención asume protocolos de red de trayectorias múltiples E2E y/o de trayectorias múltiples distintos de MPTCP o MP-DCCP, tales como unión SCTP, MP-QUIC o GRE.
Una idea principal que se presenta en esta divulgación es cambiar el orden en que se utilizarán los búferes de cuello de botella. Se renuncia a la forma usual de llenar un flujo de comunicación incluido el búfer de cuello de botella en favor de utilizar los flujos de comunicación primero antes de que se permita que el búfer de cuello de botella se use.
Esto requiere conocimiento sobre el búfer de cuello de botella de flujo de comunicación y la determinación de este nivel de búfer dentro del programador de trayectorias múltiples. El programador de trayectorias múltiples luego tiene que forzar el uso de un segundo flujo de comunicación dependiendo de la tasa de datos entrantes y el nivel de llenado del cuello de botella del primer flujo de comunicación, evitando cualquier uso de búfer del primer flujo de comunicación, lo cual evita que el sistema haga uso de manera eficiente del segundo flujo de comunicación. Por lo tanto es requerido monitorizar el nivel de llenado de búfer y decidir de acuerdo con un umbral conmutar desde la trayectoria de comunicación actualmente usada a una secundaria.
De acuerdo con un primer aspecto, la invención proporciona un sistema programador de acceso múltiple configurado para recibir paquetes desde un remitente y transmitir paquetes a un receptor sobre una red de comunicaciones. El sistema programador de acceso múltiple comprende un programador de trayectorias múltiples configurado para programar el tráfico de datos para transmisión a través de una trayectoria de datos de primer tipo que tiene una primera capacidad y una trayectoria de datos de segundo tipo que tiene una segunda capacidad, comprendiendo la trayectoria de datos de primer tipo un primer búfer de cuello de botella y comprendiendo la trayectoria de datos de segundo tipo un segundo búfer de cuello de botella. El programador de trayectorias múltiples está configurado para programar paquetes en la trayectoria de datos de primer tipo, a menos que la capacidad de la trayectoria de datos de primer tipo esté llena. Adicionalmente, el programador de trayectorias múltiples está configurado para monitorizar el nivel de primer búfer de cuello de botella y si la capacidad de la trayectoria de datos de primer tipo está llena y el nivel de primer búfer de cuello de botella comienza a crecer, el programador de trayectorias múltiples está configurado para programar paquetes en la trayectoria de datos de segundo tipo hasta que la capacidad de la segunda trayectoria esté llena.
De acuerdo con una realización preferida, el programador de trayectorias múltiples está configurado para usar una ventana de congestión, CWND, en una base de trayectoria de datos por tipo y/o una manera general de trayectoria de datos de tipo, para controlar uso de primer búfer de cuello de botella.
En una realización preferida aún adicional, el programador de trayectorias múltiples está configurado para determinar el tamaño de la CWND aplicando un factor 0 ≤ F≤ 1 al tamaño de la CWND con base en el producto de retraso de ancho de banda RTTmín * BW * G, en donde RTTmín es el tiempo de ida y vuelta mínimo, BW es el ancho de banda, y G es una ganancia.
Se prefiere que el sistema programador de acceso múltiple comprenda además un búfer de programador.
El programador de trayectorias múltiples está preferiblemente configurado para monitorizar un estado del búfer de programador y adaptar la programación con base en el contenido y/o nivel de llenado del búfer de programador.
El programador de trayectorias múltiples está preferiblemente configurado para aplicar la información de RTT obtenida por la señalización de remitente y receptor para determinar que la capacidad de la trayectoria de datos de primer tipo está agotada y/o usar la información de RTT para decisiones de programación adicionales.
En una aún realización preferida, el programador de trayectorias múltiples está configurado para recibir, desde la red de comunicaciones, una notificación de congestión, indicando la notificación de congestión la presencia de una cola de cuello de botella creciente o llena en la trayectoria de datos de primer tipo; y conmutar la programación de paquetes desde la trayectoria de datos de primer tipo a la trayectoria de datos de segundo tipo incluso si el búfer de trayectoria de datos de primer tipo no está lleno.
Si se agota la capacidad de la trayectoria de datos de primer tipo y la trayectoria de datos de segundo tipo, el programador de trayectorias múltiples se configura preferiblemente para programar los paquetes en el primer búfer de cuello de botella de la trayectoria de datos de primer tipo y/o el segundo búfer de cuello de botella de la trayectoria de datos de segundo tipo.
De acuerdo con un aspecto preferido de la invención, el nivel de llenado del primer búfer de cuello de botella se ajusta mediante un nivel de umbral configurable, en donde cuando se alcanza o supera el nivel de umbral, el programador de trayectorias múltiples se configura para cambiar la programación de paquetes desde la trayectoria de datos de primer tipo a la trayectoria de datos de segundo tipo.
De acuerdo con un segundo aspecto, la invención proporciona un dispositivo programador de trayectorias múltiples para programar el tráfico de datos para transmisión a través de una trayectoria de datos de primer tipo que tiene una primera capacidad y una trayectoria de datos de segundo tipo que tiene una segunda capacidad, comprendiendo la trayectoria de datos de primer tipo un primer búfer de cuello de botella y comprendiendo la trayectoria de datos de segundo tipo un segundo búfer de cuello de botella. El programador de trayectorias múltiples está configurado para programar paquetes en la trayectoria de datos de primer tipo, a menos que la capacidad de la trayectoria de datos de primer tipo esté llena. El programador de trayectorias múltiples está configurado para monitorizar el nivel de primer búfer de cuello de botella y si la capacidad de la trayectoria de datos de primer tipo está llena y el nivel de primer búfer de cuello de botella comienza a crecer, el programador de trayectorias múltiples está configurado para programar paquetes en la trayectoria de datos de segundo tipo hasta que la capacidad de la segunda trayectoria esté llena.
De acuerdo con un tercer aspecto, la invención proporciona un método para programar el tráfico de datos de trayectorias múltiples para transmisión a través de una trayectoria de datos de primer tipo que tiene una primera capacidad y una trayectoria de datos de segundo tipo que tiene una segunda capacidad, comprendiendo la trayectoria de datos de primer tipo un primer búfer de cuello de botella y comprendiendo la trayectoria de datos de segundo tipo un segundo búfer de cuello de botella. El método comprende programar paquetes en la trayectoria de datos de primer tipo, a menos que la capacidad de la trayectoria de datos de primer tipo esté llena; monitorizar el nivel de primer búfer de cuello de botella; y si la capacidad de la trayectoria de datos de primer tipo está llena y el nivel de primer búfer de cuello de botella comienza a crecer, programar paquetes en la trayectoria de datos de segundo tipo hasta que la capacidad de la segunda trayectoria esté llena.
Preferiblemente, el método comprende además usar una ventana de congestión, CWND, en una base de trayectoria de datos por tipo y/o una manera general de trayectoria de datos de tipo, para controlar uso de primer búfer de cuello de botella.
Además preferido, el método comprende determinar el tamaño de la CWND aplicando un factor 0 ≤ F≤ 1 al tamaño de la CWND con base en el producto de retraso de ancho de banda RTTmín * BW * G, en donde RTTmín es el tiempo de ida y vuelta mínimo, BW es el ancho de banda, y G es una ganancia.
De acuerdo con un aspecto preferido aún adicional, el método comprende además monitorizar un estado de un búfer de programador y adaptar la programación con base en el contenido y/o nivel de llenado del búfer de programador.
El método preferiblemente comprende además aplicar información de RTT obtenida por la señalización de remitente y receptor para determinar que la capacidad de la trayectoria de datos de primer tipo está agotada y/o usar la información de RTT para decisiones de programación adicionales.
Los dibujos anexos ayudan a entender la invención. Los dibujos ilustran:
La figura 1 un flujo de comunicación entre un remitente y un receptor;
La figura 2 una estructura de MP-DCCP;
La figura 3 una ilustración de alto nivel del programador;
La figura 4 una comparación entre el enfoque de la técnica anterior y el enfoque de acuerdo con la invención; y
Las figuras 5 a 10 la mejora del programador de acuerdo con la presente invención.
Descripción de realización
En la siguiente descripción detallada, se hace referencia a los dibujos acompañantes, que forman parte de la divulgación, y en los cuales se muestran, a modo de ilustración, aspectos específicos en los cuales se puede situar la presente invención. Se entiende que pueden utilizarse otros aspectos y pueden hacerse cambios estructurales o lógicos sin apartarse del alcance de la presente invención. La siguiente descripción detallada, por lo tanto, no debe tomarse en un sentido limitante, ya que el alcance de la presente invención está definido por las reivindicaciones anexas.
Por ejemplo, se entiende que una divulgación en relación con un método descrito también puede ser válida para un dispositivo o sistema correspondiente configurado para realizar el método y viceversa. Por ejemplo, si se describe una etapa de método específica, un dispositivo correspondiente puede incluir una unidad para realizar la etapa de método descrita, incluso si tal unidad no se describe o ilustra explícitamente en las figuras. Además, se entiende que las características de los diversos aspectos de ejemplo descritos en este documento pueden combinarse entre sí, a menos que se anote específicamente otra cosa.
El problema general subyacente a la invención se ilustra en la figura 4. La figura 4 ilustra cómo crece la ventana de congestión de servidor con el tiempo, y cuáles partes del túnel llegan a ocupar la ventana de congestión con el tiempo. El gráfico de la izquierda ilustra el crecimiento de acuerdo con la implementación convencional. El resultado de acuerdo con una realización de la invención se ilustra en el gráfico de la derecha. El problema es que el control de congestión de trayectoria convencional llenará el búfer de cuello de botella, a menudo hasta un punto que no es útil. El caso más claro de esto es cuando el servidor usa NewReno; el problema en este caso es que dejar que la ventana de servidor se mueva al búfer de cuello de botella en la trayectoria 1 alargará la trayectoria, y de este modo ralentizará el crecimiento futuro de la ventana de congestión de servidor. Esto se ilustra en la figura 4 como una tasa de crecimiento decreciente de la ventana de congestión en el gráfico de la izquierda. El resultado de acuerdo con la invención es en cambio que la ventana de servidor ocupa primero la trayectoria 1, luego trayectoria 2, y por último el búfer en cualquiera de las trayectorias; esto es lo que se ilustra en el dibujo de la derecha en la figura 4.
El uso, de acuerdo con una realización, de BBR o CCID5 permite un programador que habilita el proceso en el lado derecho de la figura 4; la razón principal por la que BBR establece su ventana de congestión de una manera muy predecible; BBR drenará periódicamente la trayectoria de paquetes de tal manera que pueda registrar el RTT mínimo (RTTmín), mientras que registrará continuamente el rendimiento de la trayectoria (BW); BBR establecerá su ventana de congestión de acuerdo con la ecuación 1 donde G es un factor de ganancia establecido en 2:
C W N D = R T T m ín * B W * G (1 )
en donde RTTmín es el tiempo de ida y vuelta mínimo, BW es el ancho de banda, y G es una ganancia. Debido a que la ventana de congestión, CWND, se basa en el producto del retraso de ancho de banda, el programador de trayectorias múltiples puede ajustar qué tan profundamente desea llenar el búfer de cuello de botella de cada trayectoria ajustando la CWND con algún factor. Dado que la ganancia es 2, un factor de 0.5 hará una ocupación muy superficial del búfer de cuello de botella, mientras que un factor de 1 permitirá la ocupación estándar de búfer para BBR. La idea principal para el programador es hacer que baje su ganancia cuando no hay paquetes en el búfer de programador; por el contrario, cuando hay paquetes en el búfer de programador, la ganancia sube. El efecto neto de este mecanismo es que el programador favorecerá una ocupación superficial del búfer de trayectoria principal junto con la utilización de la trayectoria secundaria; otra forma de expresar esto es decir que el programador tenderá a acortar la tubería de extremo a extremo mientras que también la amplía, o reducirá la latencia y aumentará el rendimiento. La figura 3 ilustra el programador desde un nivel alto; la única información que necesitará el programador es el tiempo de estadía de paquetes en la cola de programación - o el número de paquetes en dicha cola - así como la CWND de cada trayectoria.
Las figuras 5, 6 y 8 representan resultados del sistema programador de múltiples accesos y el programador de trayectorias múltiples de acuerdo con la invención. La mejora es, en general, bastante clara; en las figuras 5 y 6 la mejora es más modesta en el caso de TCP-Cubic; en la figura 8 la mejora es similar a cuando se usa la ecualización de retraso con la excepción de la delgada banda "roja" que sigue al eje y.
La figura 5 ilustra los resultados de un enfoque convencional. Ilustra el rendimiento de túnel con el tiempo para descargar un archivo usando los siguientes protocolos de servidor: (a) TCP-NewReno; (b) TCP-Cubic; y (c) TCP-BBR. El túnel está usando BBR en todos los casos, y el programador es un primer programador convencional de tubería más barata, CPF. El RTT es 80 ms, y el rtt de túnel es 64 ms. El eje x es tiempo en segundos, y el eje y es el rendimiento en Mbps. En cada fila ilustrada, el rendimiento en la trayectoria 2 se muestra arriba del rendimiento en la trayectoria 1.
La figura 6 ilustra los resultados de acuerdo con las realizaciones de la invención. Ilustra el rendimiento de túnel con el tiempo para descargar un archivo usando los siguientes protocolos de servidor: (a) TCP-NewReno; (b) TCP-Cubic; y (c) TCP-BBR. El túnel está usando BBR en todos los casos, y el programador está configurado de acuerdo con la presente invención. RTT es 80 ms; rtt de túnel es 64 ms. El eje x es tiempo en segundos, y el eje y es rendimiento en Mbps. En cada fila ilustrada, el rendimiento en la trayectoria 2 se muestra arriba del rendimiento en la trayectoria 1. La figura 6 ilustra claramente la ocupación equilibrada de ambas trayectorias.
La figura 7 ilustra la fracción de CWND de programador a lo largo del tiempo para los ejemplos de la figura 6. Es decir, ilustra la descarga de un archivo usando el siguiente protocolo de servidor: (a) TCP-NewReno; (b) TCP-Cubic; (c) TCP-BBR. El túnel está usando BBR en todos los casos, y el programador está de acuerdo con la presente invención. RTT es 80 ms; rtt de túnel es 64 ms.
Las figuras 8a y 8b ilustran una comparación entre el resultado con el programador de CPF estándar (figura 8a) y el programador de acuerdo con la presente invención (figura 8b); para cada caso, iniciando desde la izquierda, se ilustra el rendimiento (dibujos a) y e)), fracción de CWND en vivo (dibujos b) y f)), CWND de servidor (dibujos c) y g)), y CWND de servidor como una función de una única variable (dibujos d) y h)). El eje x es el RTT de extremo a extremo en ms, y el eje y izquierdo es el RTT de túnel en %. La línea curva en cada imagen representa el límite teórico. Los puntos en las líneas verticales a 40 ms y 80 ms se refieren a un proxy distante de RTT corto y proxy cercano de RTT corto (a 40 ms) y proxy distante de RTT largo y proxy cercano de RTT largo (a 80 ms). Los dos diagramas en d) y h) ilustran CWND de servidor en MB) sobre RTT de extremo a extremo en ms (dibujo superior) y sobre RTT de túnel en % (dibujo inferior).
Las figuras 9a y 9b ilustran los resultados de descargar un archivo. La figura 9a ilustra los resultados de un enfoque convencional, y la figura 9b ilustra los resultados de acuerdo con realizaciones de la invención. Ilustra el rendimiento de túnel con el tiempo para descargar un archivo usando los siguientes protocolos de servidor: TCP-NewReno (diagramas (a) y (d)); TCP-Cubic (diagramas (b) y (e)); y TCP-BBR (diagramas (c) y (f)). El túnel está usando NewReno en todos los casos, y el programador es CPF en la figura 9a, y está de acuerdo con la presente invención en la figura 9b. RTT es 40 ms; rtt de túnel es 32 ms.
La figura 10 ilustra la fracción de CWND de programador a lo largo del tiempo para los ejemplos de la figura 9. Ilustra la descarga de un archivo usando los siguientes protocolos de servidor: (a) TCP-NewReno; (b) TCP-Cubic; (c) TCP-BBR. El túnel está usando NewReno en todos los casos, y el programador está de acuerdo con la presente invención. RTT es 40 ms; rtt de túnel es 32 ms.
Otro aspecto de la invención se relaciona con un producto de programa de ordenador que comprende código de programa para realizar el método o las funcionalidades descritas anteriormente, cuando se ejecuta en un ordenador o un procesador. El método puede implementarse como código de programa que puede almacenarse en un medio de ordenador no transitorio. El producto de programa de ordenador puede implementar las técnicas descritas anteriormente con respecto a las figuras.
Los métodos y sistemas presentados a continuación pueden ser de diversos tipos. Los elementos individuales descritos pueden ser realizados por componentes de hardware o software, por ejemplo componentes electrónicos que pueden fabricarse mediante diversas tecnologías e incluyen, por ejemplo, chips semiconductores, ASICs, microprocesadores, procesadores de señales digitales, circuitos eléctricos integrados, circuitos electroópticos y /o componentes pasivos.
Los dispositivos, sistemas y métodos que se presentan a continuación son capaces de transmitir información sobre una red de comunicación. El término red de comunicación se refiere a la infraestructura técnica sobre la cual tiene lugar la transmisión de señales. La red de comunicación comprende esencialmente la red de conmutación en la cual tiene lugar la transmisión y conmutación de las señales entre los dispositivos estacionarios y plataformas de la red de radio móvil o red fija, y la red de acceso en la cual tiene lugar la transmisión de las señales entre un dispositivo de acceso a red y el terminal de comunicación. La red de comunicación puede comprender tanto componentes de una red de radio móvil así como componentes de una red fija. En la red móvil, la red de acceso también se denomina como una interfaz aérea e incluye, por ejemplo, una estación base (NodoB, eNodoB, celda de radio) con antena móvil para establecer la comunicación con un terminal de comunicación como se describió anteriormente, por ejemplo, un teléfono móvil o un dispositivo móvil con adaptador móvil o un terminal de máquina. En la red fija, la red de acceso incluye, por ejemplo, un DSLAM (multiplexor de acceso a línea de suscriptor digital) para conectar los terminales de comunicación de múltiples participantes con base 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 foráneas.
En los sistemas de comunicaciones e informáticos, el modelo de interconexión de sistemas abiertos (modelo de OSI) define un modelo conceptual que caracteriza y estandariza las funciones de comunicación sin considerar su estructura interna y tecnología subyacentes. 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 definía 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 capa de aplicación (Capa 7).
Aunque la invención se ha ilustrado y descrito en detalle en los dibujos y la descripción anterior, tal ilustración y descripción deben considerarse ilustrativas o de ejemplo y no restrictivas. Se entenderá que los cambios y modificaciones pueden ser hechos por los expertos normales dentro del alcance de las siguientes reivindicaciones. En particular, la presente invención cubre realizaciones adicionales con cualquier combinación de características desde diferentes realizaciones descritas anteriormente y a continuación.
Adicionalmente, en las reivindicaciones la palabra "que comprende" no excluye otros elementos o etapas, y el artículo indefinido "un" o "uno, una" no excluye una pluralidad. Una única unidad puede cumplir las funciones de varias características citadas en las reivindicaciones. Los términos "esencialmente", "alrededor de", "aproximadamente" y similares en relación con un atributo o un valor particularmente también definen exactamente el atributo o exactamente el valor, respectivamente. Cualquier signo de referencia en las reivindicaciones no debe interpretarse como que limita el alcance.
Lista de referencias
[1] A. Ford and C. Raiciu and M. Handley and O. Bonaventure, "TCP Extensions for Multipath Operation with Multiple Addresses", RFC no. 6824, January 2013
[2] Quentin Coninck and Olivier Bonaventure, "Multipath Extensions for QUIC (MP-QUIC)", draft-deconinck-quicmultipath-05, August 2020
[3] Markus Amend and Anna Brunstrom and Andreas Kassler and Veselin Rakocevic, "DCCP Extensions for Multipath Operation with Multiple Addresses", draft-amend-tsvwg-multipath-dccp-03, Nov 2019
[4] Patent "Techniques for scheduling multipath data traffic", EP3544332A1, Inventors: Markus Amend and Eckard Bogenfeld
[5] Patent "A communication device for transmitting a Transmission Control Protocol segment over a communication network using a Multipath Transmission Control Protocol", EP3579500A1, Inventors: Markus Amend and Eckard Bogenfeld
[6] Markus Amend and Eckard Bogenfeld and Anna Brunstrom and Andreas Kassler and Veselin Rakocevic, "A multipath framework for UDP traffic over heterogeneous access networks", draft-amend-tsvwg-multipath-frameworkmpdccp-01, January 2020
[7] https://datatracker.ietf.org/wg/masque/about/
[8] T. Pauly and E. Kinnear and D. Schinazi, "An Unreliable Datagram Extension to QUIC", draft-pauly-quic-datagram-05, Nov 2019
[9] Wei Lu, Dandan Yu, Minghe Huang, and Bin Guo, "PO-MPTCP: Priorities-Oriented Data Scheduler for Multimedia Multipathing Services," International Journal of Digital Multimedia Broadcasting, vol. 2018, Article ID 1413026, 9 pages, 2018. https://doi.org/10.1155/2018/1413026

Claims (14)

REIVINDICACIONES
1. Un sistema programador de acceso múltiple configurado para recibir paquetes desde un remitente y transmitir paquetes a un receptor sobre una red de comunicaciones, comprendiendo el sistema programador de acceso múltiple:
un programador de trayectorias múltiples configurado para programar tráfico de datos para transmisión a través de una trayectoria de datos de primer tipo que tiene una primera capacidad y una trayectoria de datos de segundo tipo que tiene una segunda capacidad, comprendiendo la trayectoria de datos de primer tipo un primer búfer de cuello de botella y comprendiendo la trayectoria de datos de segundo tipo un segundo búfer de cuello de botella, en donde:
el programador de trayectorias múltiples está configurado para programar paquetes en la trayectoria de datos de primer tipo, a menos que la capacidad de la trayectoria de datos de primer tipo esté llena;
en donde
el programador de trayectorias múltiples está configurado para monitorizar el nivel de primer búfer de cuello de botella; y
si la capacidad de la trayectoria de datos de primer tipo está llena y el nivel de primer búfer de cuello de botella comienza a crecer, el programador de trayectorias múltiples está configurado para programar paquetes en la trayectoria de datos de segundo tipo hasta que la capacidad de la segunda trayectoria esté llena.
2. El sistema programador de acceso múltiple de la reivindicación 1, en donde el programador de trayectorias múltiples está configurado para usar una ventana de congestión, CWND, en una base de trayectoria de datos por tipo y/o una manera general de trayectoria de datos de tipo, para controlar uso de primer búfer de cuello de botella.
3. El sistema programador de acceso múltiple de la reivindicación 2, en donde el programador de trayectorias múltiples está configurado para determinar el tamaño de la CWND aplicando un factor 0 ≤ F≤ 1 al tamaño de la CWND con base en el producto de retraso de ancho de banda RTTmín * BW * G, en donde RTTmín es el tiempo de ida y vuelta mínimo, BW es el ancho de banda, y G es una ganancia.
4. El sistema programador de acceso múltiple de cualquier reivindicación precedente, que comprende además un búfer de programador, en donde el programador de trayectorias múltiples está configurado para monitorizar un estado del búfer de programador y adaptar la programación con base en el contenido y/o nivel de llenado del búfer de programador.
5. El sistema programador de acceso múltiple de la reivindicación 1 o 2, en donde el programador de trayectorias múltiples está configurado para aplicar información de RTT obtenida por señalización de remitente y receptor para determinar que la capacidad de la trayectoria de datos de primer tipo está agotada.
6. El sistema programador de múltiples accesos de una cualquiera de las reivindicaciones 1 a 3, en donde el programador de trayectorias múltiples está configurado para:
recibir, desde la red de comunicaciones, una notificación de congestión, indicando la notificación de congestión la presencia de una cola de cuello de botella creciente o completa en la trayectoria de datos de primer tipo; y
conmutar la programación de paquetes desde la trayectoria de datos de primer tipo a la trayectoria de datos de segundo tipo incluso si el búfer de trayectoria de datos de primer tipo no está lleno.
7. El sistema programador de acceso múltiple de una cualquiera de las reivindicaciones precedentes, en donde, si se agota la capacidad de la trayectoria de datos de primer tipo y la trayectoria de datos de segundo tipo, el programador de trayectorias múltiples está configurado para programar los paquetes en el primer búfer de cuello de botella de la trayectoria de datos de primer tipo y/o segundo búfer de cuello de botella de la trayectoria de datos de segundo tipo.
8. El sistema programador de acceso múltiple de la reivindicación 1, en donde el nivel de llenado del primer búfer de cuello de botella se ajusta mediante un nivel de umbral configurable, en donde cuando se alcanza o supera el nivel de umbral, el programador de trayectorias múltiples se configura para cambiar la programación de paquetes desde la trayectoria de datos de primer tipo a la trayectoria de datos de segundo tipo.
9. Un dispositivo programador de trayectorias múltiples para programar tráfico de datos para transmisión a través de una trayectoria de datos de primer tipo que tiene una primera capacidad y una trayectoria de datos de segundo tipo que tiene una segunda capacidad, comprendiendo la trayectoria de datos de primer tipo un primer búfer de cuello de botella y comprendiendo la trayectoria de datos de segundo tipo un segundo búfer de cuello de botella, en donde
el programador de trayectorias múltiples está configurado para programar paquetes en la trayectoria de datos de primer tipo, a menos que la capacidad de la trayectoria de datos de primer tipo esté llena;
en donde
el programador de trayectorias múltiples está configurado para monitorizar el nivel de primer búfer de cuello de botella; y
si la capacidad de la trayectoria de datos de primer tipo está llena y el nivel de primer búfer de cuello de botella comienza a crecer, el programador de trayectorias múltiples está configurado para programar paquetes en la trayectoria de datos de segundo tipo hasta que la capacidad de la segunda trayectoria esté llena.
10. Un método para programar tráfico de datos de trayectorias múltiples para transmisión a través de una trayectoria de datos de primer tipo que tiene una primera capacidad y una trayectoria de datos de segundo tipo que tiene una segunda capacidad, comprendiendo la trayectoria de datos de primer tipo un primer búfer de cuello de botella y comprendiendo la trayectoria de datos de segundo tipo un segundo búfer de cuello de botella, comprendiendo el método:
programar paquetes en la trayectoria de datos de primer tipo, a menos que la capacidad de la trayectoria de datos de primer tipo esté llena;
en donde el método comprende:
monitorizar el nivel de primer búfer de cuello de botella; y
si la capacidad de la trayectoria de datos de primer tipo está llena y el nivel de primer búfer de cuello de botella comienza a crecer, programar paquetes en la trayectoria de datos de segundo tipo hasta que la capacidad de la segunda trayectoria esté llena.
11. El método de la reivindicación 10, que comprende además:
usar una ventana de congestión, CWND, en una base de trayectoria de datos por tipo y/o una manera general de trayectoria de datos de tipo, para controlar uso de primer búfer de cuello de botella.
12. El método de la reivindicación 11, que comprende además determinar el tamaño de la CWND aplicando un factor 0 ≤ F≤ 1 al tamaño de la CWND con base en el producto de retraso de ancho de banda RTTmín * BW * G, en donde RTTmín es el tiempo de ida y vuelta mínimo, BW es el ancho de banda, y G es una ganancia.
13. El método de una cualquiera de las reivindicaciones 10 a 12, que comprende además monitorizar un estado de un búfer de programador y adaptar la programación con base en el contenido y/o nivel de llenado del búfer de programador.
14. El método de la reivindicación 10 u 11, que comprende además aplicar información de RTT obtenida por señalización de remitente y receptor para determinar que la capacidad de la trayectoria de datos de primer tipo está agotada.
ES21169634T 2021-04-21 2021-04-21 Sistema y método para transmisión de trayectorias múltiples Active ES2951320T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP21169634.9A EP4080836B1 (en) 2021-04-21 2021-04-21 System and method for multipath transmission

Publications (1)

Publication Number Publication Date
ES2951320T3 true ES2951320T3 (es) 2023-10-19

Family

ID=75625475

Family Applications (1)

Application Number Title Priority Date Filing Date
ES21169634T Active ES2951320T3 (es) 2021-04-21 2021-04-21 Sistema y método para transmisión de trayectorias múltiples

Country Status (2)

Country Link
EP (1) EP4080836B1 (es)
ES (1) ES2951320T3 (es)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013052651A2 (en) * 2011-10-04 2013-04-11 North Carolina State University Receiver-based methods, systems, and computer readable media for controlling tcp sender behavior in cellular communications networks with large buffer sizes
KR102411188B1 (ko) * 2015-11-30 2022-06-21 삼성전자주식회사 무선 통신 시스템에서의 혼잡 관리 장치 및 방법
EP3544332B1 (en) 2018-03-19 2021-05-26 Deutsche Telekom AG Techniques for scheduling multipath data traffic
EP3579500B1 (en) 2018-06-07 2021-11-17 Deutsche Telekom AG A communication system for transmitting a transmission control protocol segment over a communication network using a multipath transmission control protocol, corresponding method and computer program

Also Published As

Publication number Publication date
EP4080836A1 (en) 2022-10-26
EP4080836B1 (en) 2023-06-21

Similar Documents

Publication Publication Date Title
ES2353333T3 (es) Encaminamiento de paquetes en un entorno de comunicaciones inalámbricas.
ES2798127T3 (es) Técnicas para transmisión de múltiples trayectos eficaz
US7738370B2 (en) Method, network element and modules therefore, and computer program for use in prioritizing a plurality of queuing entities
CN112243253B (zh) 一种通信设备
ES2761225T3 (es) Provisión de tratamiento de QoS basándose en múltiples peticiones
Ramaboli et al. Bandwidth aggregation in heterogeneous wireless networks: A survey of current approaches and issues
EP3586489B1 (en) Methods and network elements for multi-connectivity control
KR101270987B1 (ko) 기지국 및 데이터 전송방법
US20090122753A1 (en) Dynamic data link segmentation and reassembly
EP3915298B1 (en) Methods and apparatus for transmitting radio data over a fronthaul network
ES2837224T3 (es) Método y sistema para la planificación de paquetes en un escenario de agrupamiento basado en túneles TCP e información TCP nativa
CN110944358B (zh) 数据传输方法和设备
CN114128228B (zh) 通过SRv6头传输MTNC-ID以实现5G传输
TW200845775A (en) Message ordering for network based mobility management systems
ES2357631A1 (es) Método para programar tráfico en un canal de comunicaciones.
ES2882074T3 (es) Técnicas para la planificación de tráfico de datos de ruta múltiple
WO2014189422A1 (en) Transmitting node, receiving node and methods therein
JP4550897B2 (ja) 通信システムにおける情報の伝送
US8526353B2 (en) Communication device, radio communication device, communication control method and radio communication method
US20230142425A1 (en) Virtual dual queue core stateless active queue management (agm) for communication networks
ES2951320T3 (es) Sistema y método para transmisión de trayectorias múltiples
KR20230091908A (ko) 패킷 리라우팅을 위한 방법 및 장치
WO2019207403A1 (en) Core-stateless ecn for l4s
CN116232990A (zh) 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
WO2017074362A1 (en) Multi-level data rate control for wireless networks