ES2995486T3 - Content delivery - Google Patents

Content delivery Download PDF

Info

Publication number
ES2995486T3
ES2995486T3 ES21755770T ES21755770T ES2995486T3 ES 2995486 T3 ES2995486 T3 ES 2995486T3 ES 21755770 T ES21755770 T ES 21755770T ES 21755770 T ES21755770 T ES 21755770T ES 2995486 T3 ES2995486 T3 ES 2995486T3
Authority
ES
Spain
Prior art keywords
content
request
http
proxy
client device
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
ES21755770T
Other languages
English (en)
Inventor
Rory Turnbull
Timothy Stevens
Stephen Appleby
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of ES2995486T3 publication Critical patent/ES2995486T3/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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26616Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6408Unicasting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Se describe un método de entrega de contenido a un dispositivo cliente. En particular, el método se puede aplicar a redes de entrega híbridas de unidifusión/multidifusión, donde el contenido es proporcionado por un servidor de contenido a un proxy raíz, y ese proxy raíz entrega el contenido a los proxies perimetrales a través de multidifusión. Sin embargo, las solicitudes de ese contenido en forma de solicitudes HTTP GET desde un dispositivo cliente son recibidas por un proxy perimetral, que posteriormente envía una solicitud HTTP HEAD para la información de encabezado asociada con ese contenido directamente al servidor de contenido. El servidor de contenido responde a través de unidifusión con una respuesta adecuada a la solicitud HTTP HEAD, que es recibida por el proxy perimetral. El proxy perimetral toma la respuesta junto con la carga útil del segmento de contenido recibido a través de multidifusión, para generar un segmento de contenido específico del cliente para su entrega al dispositivo cliente a través de unidifusión. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Distribución de contenidos
Campo de la invención
Esta invención se refiere al campo de la distribución de contenidos usando una combinación de unidifusión y multidifusión.
Antecedentes de la invención
Cada vez se retransmiten más contenidos en directo a través de HTTP (o HTTPS). Los eventos en directo populares generan una demanda extremadamente volátil, lo que da lugar a una relación pico a media muy elevada en los volúmenes de tráfico. Por ejemplo, el gráfico 100 de la Figura 1 muestra un ejemplo de volúmenes de tráfico en puertas de enlace cercanas al borde de una red móvil tomados durante la competición futbolística Euro 2016. La gráfica 102 muestra los volúmenes de tráfico en un día (miércoles 15 de junio) sin fútbol y la gráfica 104 muestra los volúmenes de tráfico al día siguiente (jueves 16 de junio) cuando había un partido de fútbol (Inglaterra contra Gales). Ambas gráficas muestran más o menos los mismos volúmenes de tráfico a lo largo del día, salvo que la Gráfica 104 tiene un importante pico adicional de tráfico entre las 14:00 y las 16:00 horas, debido a que los clientes están reproduciendo el partido de fútbol.
Esta elevada relación pico a media plantea un reto particular en el borde de la red, donde tales picos pueden causar una degradación de la calidad de la experiencia de los usuarios.
Lo más habitual es que los contenidos se distribuyan a través de Internet usando pares de solicitud/respuesta HTTP (o HTTPS). Las aplicaciones cliente enviarán una solicitud HTTP a un servidor y se devolverá una respuesta con el contenido solicitado. Tales solicitudes/respuestas son de naturaleza unidifusión.
HTTP(S) puede usarse para transmisión de vídeo. Normalmente, el cliente obtendrá un archivo de manifiesto que permitirá determinar las URL de los archivos individuales que contienen segmentos de vídeo. A continuación, el cliente solicitará estos segmentos en secuencia y los concatenará para formar un flujo continuo para su reproducción. Cada segmento de vídeo también puede estar disponible a diferentes tasas de transferencia de bits para permitir que la velocidad de vídeo se adapte al rendimiento de la red disponible. Esta técnica es conocida como streaming adaptativo basado en el protocolo HTTP (HTTP Adaptive Streaming (HAS)).
Para los usuarios que vean el mismo evento, tal como un partido de fútbol en directo, cada cliente hará sus propias solicitudes HTTP y obtendrá sus propias respuestas HTTP, a pesar de que una gran parte del contenido que se les distribuya dentro de las respuestas HTTP será idéntica entre los clientes. El resultado es un uso muy ineficiente de la red.
Sin embargo, si la red de acceso fuera capaz de usar multidifusión para la distribución de contenidos en lugar de unidifusión, a continuación, el impacto de los picos de contenido en directo que se muestran en la Figura 1 podría reducirse significativamente. Es más, el uso de la multidifusión en la red de acceso también podría reducir significativamente los picos de demanda en los servidores de la Red de Distribución de Contenidos.
Ya existen soluciones que abordan este problema, donde se inserta una ruta multidifusión en una ruta que por otra parte sería unidifusión entre un cliente y un servidor de contenido mediante proxies. Ejemplos de tales soluciones híbridas incluyen: "IP Multicast Adaptive Bit Rate Architecture Technical Report" OC-TR-IP-MULTI-ARCH-C01-161026, 26/10/2016, de Cable Labs; especificaciones 3GPP, 23.246 (MBMS Architecture and functional description), 26.346 (MBMS Protocols and codecs) y 26.347 (MBMS APIs); y documento DVB A176, "Adaptive Media Streaming over IP Multicast", (8 de marzo de 2018). Estas soluciones híbridas pueden usarse para la distribución de contenidos a una tasa de transferencia de bits adaptativa multidifusión (mABR, por sus siglas en inglés).
La Figura 2 muestra un ejemplo generalizado de tales soluciones híbridas.
En la Figura 2, se muestra un servidor de contenido 202 que proporciona contenido tal como vídeo a los dispositivos cliente 204a, 204b y 204c. Se insertan un Proxy multidifusión X 206 y tres Proxies Y 208a, 208b y 208c en la ruta unidifusión entre el servidor de contenido 202 y los dispositivos cliente. El Proxy X 206 adquiere un contenido unidifusión del servidor de contenido 202 y los pone a disposición a través de multidifusión. El Proxy Y recibe el contenido multidifusión y puede ponerlo a disposición por unidifusión en cualquier dispositivo cliente que lo solicite. Todos los dispositivos cliente recibirán respuestas idénticas a sus solicitudes de segmentos, ya que el mismo contenido multidifusión es recibido por todos los Proxies Y del Proxy X. Los Proxies Y pueden estar situados en los dispositivos cliente, o dispositivos separados, o puede haber un único Proxy Y, dependiendo de la configuración.
En tal solución, el Proxy X está preconfigurado para actuar como cliente y de forma independiente realiza solicitudes de segmentos de contenido y envía la respuesta completa a la red multidifusión. Para ello, el Proxy X solicita primero un archivo de manifiesto y, a continuación, realiza las peticiones oportunas de los segmentos de contenido descritos dentro del mismo. Todos los dispositivos cliente recibirán respuestas idénticas a sus solicitudes de segmentos, ya que el mismo contenido multidifusión es recibido por todos los Proxies Y del Proxy X. Tenga en cuenta que los Proxies Y pueden estar situados en los dispositivos cliente, o dispositivos separados, o puede haber un único Proxy Y, dependiendo de la configuración.
Este mecanismo no permite que los dispositivos cliente envíen información específica del cliente o de la sesión al servidor de contenido y también imposibilita que las respuestas enviadas a los dispositivos cliente contengan información específica del cliente o de la sesión del servidor de contenido. La información específica de la sesión puede incluir tokens de autenticación, firmas de URL, cookies o información de estado tal como el punto de reproducción actual.
Es más, el servidor de contenido es normalmente una caché en borde de CDN que, por lo demás, tendría visibilidad del número de solicitudes que se realizan y del número de respuestas que está entregando. Esta información se usa para la supervisión, medición y análisis del servicio y a menudo es crucial para el negocio del operador de la CDN, por ejemplo, para la garantía del servicio, facturación, etc.
Con la arquitectura de multidifusión híbrida mencionada anteriormente, independientemente del número de dispositivos cliente que consuman contenidos, sólo hay una única solicitud realizada por el Proxy X y una única respuesta correspondiente del servidor de contenido. Es evidente que esto plantea problemas al proveedor de contenidos a la hora de determinar la demanda real de sus contenidos.
Muchas otras disposiciones híbridas unidifusión-multidifusión y las soluciones de mABR en general, tienen un problema semejante.
La solicitud de patente internacional WO2016/107733 describe métodos para convertir un flujo de multidifusión en segmentos de unidifusión. En particular, los identificadores de secuencia se generan basándose en un campo de referencia de reloj en los paquetes de la secuencia de transporte que componen el flujo de multidifusión. Cada vez que se calcula un nuevo identificador de secuencia, se genera un nuevo segmento de unidifusión y se le asigna el nuevo identificador de secuencia. Los paquetes de flujo de transporte se colocan en el nuevo segmento hasta que se procesa un paquete que provoca que se genere un nuevo identificador de secuencia, momento en el que se genera otro nuevo segmento y los paquetes se colocan en ese segmento.
Csaba Okrona "What is a HTTP HEAD Request Good for? Some uses", 27 de agosto de 2011, XP055139472 describe qué son las solicitudes HEAD y cómo se pueden usar.
Sumario de la invención
El objetivo de los aspectos de la presente invención es proporcionar un mecanismo mejorado de distribución de contenidos.
Según un aspecto de la invención, se proporciona un método, según la reivindicación 1 independiente, para distribuir contenidos a un dispositivo cliente en una red que comprende una pluralidad de dispositivos cliente, en donde dicho contenido comprende una secuencia de segmentos, comprendiendo dicho método:
i) recibir en un primer elemento de red uno o más segmentos procedentes de un servidor de contenido enviados a través de multidifusión;
ii) recibir en el primer elemento de red una solicitud de un segmento de un dispositivo cliente, en donde la solicitud comprende una solicitud HTTP GET;
iii) en respuesta a la solicitud recibida, enviar mediante el primer elemento de red una solicitud HTTP HEAD al servidor de contenido;
iv) recibir una respuesta a la solicitud HTTP HEAD en el primer elemento de red a través de unidifusión; v) generar un segmento que comprende la cabecera de la respuesta recibida y una carga útil procedente de uno o más segmentos recibidos;
vi) enviar el segmento generado al dispositivo cliente a través de unidifusión.
La solicitud HTTP HEAD corresponde efectivamente a la solicitud HTTP GET. La solicitud HTTP HEAD puede comprender información específica de la sesión. La respuesta a la solicitud HEAD también puede comprender información específica de la sesión. La solicitud HTTP HEAD puede enviarse directamente al servidor de contenido.
La cabecera y la carga útil pueden emparejarse usando un identificador asociado con la cabecera y un identificador correspondiente asociado con la carga útil.
Uno o más segmentos pueden almacenarse en caché en el primer elemento de red.
La respuesta a la solicitud HEAD no puede contener una parte de carga útil.
El contenido puede ser un contenido de vídeo.
Según otro aspecto de la invención, se proporciona un elemento de red, según la reivindicación 9 independiente, para gestionar la distribución de contenidos a través de una red a un dispositivo cliente, dicho elemento de red adaptado en funcionamiento para: recibir uno o más segmentos de un servidor de contenido enviados a través de multidifusión; recibir una solicitud de un segmento de un dispositivo cliente, en donde la solicitud comprende una solicitud HTTP GET; enviar, en respuesta a la solicitud recibida, una solicitud HTTP HEAD al servidor de contenido; recibir una respuesta a la solicitud HTTP HEAD a través de unidifusión; generar un segmento que comprende la cabecera de la respuesta recibida y una carga útil de uno de los uno o más segmentos recibidos; enviar el segmento generado al dispositivo cliente a través de unidifusión.
Otras realizaciones preferidas se exponen en las reivindicaciones dependientes.
En los ejemplos de la invención, los dispositivos cliente tienen la ventaja de poder compartir información específica de la sesión con los servidores de contenido, tal como tokens de autenticación, firmas de URL, cookies e información de estado. Los servidores de contenido también son conscientes de los dispositivos cliente individuales como resultado de las solicitudes HTTP HEAD recibidas y, por lo tanto, son capaces de proporcionar análisis e información de facturación.
Tenga en cuenta que las cabeceras en las respuestas a las solicitudes HEAD son normalmente mucho más pequeñas que las cargas útiles en los segmentos de multidifusión, por lo que a pesar del uso de solicitudes HEAD y respuestas, sigue habiendo un ahorro significativo de ancho de banda mediante el uso de multidifusión para las cargas útiles. Breve descripción de los dibujos
Para una mejor comprensión de la presente invención se hará referencia ahora a modo de ejemplo únicamente a los dibujos adjuntos, en los que:
La Figura 1 es un gráfico que muestra el volumen de tráfico de una red en distintos días;
La Figura 2 es un diagrama de red de una solución general anterior;
La Figura 3 es un diagrama de red que muestra en funcionamiento los principales componentes de un ejemplo de la presente invención;
La Figura 4 es un diagrama de flujo que resume las etapas de un ejemplo de la invención.
Descripción de las realizaciones preferidas
La presente invención se describe en el presente documento con referencia a ejemplos particulares. Sin embargo, la invención no se limita a tales ejemplos.
El alcance de la invención sólo queda definido por las reivindicaciones adjuntas.
Ejemplos de la presente invención proporcionan un método para distribuir contenidos a un dispositivo cliente. En particular, los ejemplos pueden aplicarse a redes de distribución híbridas unidifusión/multidifusión, donde un servidor de contenido proporciona un contenido a un proxy raíz y ese proxy raíz distribuye el contenido a proxies de borde a través de multidifusión. Sin embargo, las solicitudes de ese contenido en forma de solicitudes HTTP GET de un dispositivo cliente son recibidas por un proxy de borde, que posteriormente envía una solicitud HTTP HEAD para obtener información de cabecera asociada con ese contenido directamente al servidor de contenido. El servidor de contenido responde a través de unidifusión con una respuesta adecuada a la solicitud HTTP HEAD, que es recibida por el proxy de borde. El proxy de borde toma la respuesta junto con la carga útil del segmento de contenido recibido a través de multidifusión, para generar un segmento de contenido específico del cliente para su distribución al dispositivo cliente a través de unidifusión.
La Figura 3 muestra los principales componentes de un ejemplo de la presente invención. Los componentes reflejan los de las soluciones híbridas ejemplificadas en la Figura 2. Sin embargo, como resultará evidente en la descripción que se da a continuación, el funcionamiento de algunos de los componentes difiere.
Volviendo a la Figura 3, la red 300 comprende un servidor de contenido 302, un Proxy X 306 (también denominado proxy raíz), Proxies Y (también denominados proxies de borde) 308a, 308b y 308c, dispositivos cliente 304a, 304b y 304c y un controlador de multidifusión 312. El controlador de multidifusión 112 puede ayudar en el funcionamiento del Proxy X 306 y de los Proxies Y. El servidor de contenido 302 proporciona un contenido tal como vídeo a las entidades solicitantes, tales como los dispositivos cliente. El servidor de contenido 302 puede estar ubicado en una red de distribución de contenidos (CDN, por sus siglas en inglés) y puede haber más de un servidor de contenido. El Proxy X 306 puede comunicarse con el servidor de contenido 302 a través de unidifusión. El Proxy X 306 también puede comunicarse con los Proxies Y 308a, 308b y 308c, a través de multidifusión. Los Proxies Y pueden estar ubicados en los dispositivos cliente, en dispositivos separados (tal como una puerta de enlace doméstica) o puede haber un único Proxy Y dependiente de la configuración.
Se supone que los dispositivos cliente ejecutan las respectivas aplicaciones cliente, que son la fuente de las solicitudes de contenidos. Para mayor simplicidad, la expresión dispositivo cliente de aquí en adelante se usa para referirse a un dispositivo cliente que ejecuta una aplicación cliente. Los dispositivos cliente pueden realizar solicitudes HTTP (o HTTPS) de unidifusión de contenidos mantenidos en el servidor de contenido 302.
Los contenidos almacenados en el servidor de contenido 302 son normalmente contenidos multimedia (por ejemplo, un programa de televisión, una película o un canal de televisión lineal completo) que comprenden secuencias de vídeo codificadas según un estándar adecuado, tal como el estándar H.264 de la UIT. Las secuencias de vídeo se almacenan en forma de segmentos temporales secuenciales en el servidor de contenido 302, donde cada segmento equivale normalmente a entre 2 y 10 segundos de vídeo decodificado. Las secuencias de vídeo también pueden codificarse a una pluralidad de tasas de transferencia de bits o niveles de calidad, dando lugar a una pluralidad de secuencias codificadas, cada una codificada a una de una pluralidad de tasas de transferencia de bits. Tal disposición es normalmente propia de un servicio de streaming con tasa de transferencia de bits adaptativa.
Los clientes usan los archivos de manifiesto para identificar dónde se encuentran los segmentos (mediante una URL en el manifiesto). Así, un dispositivo cliente transmite una secuencia de vídeo usando el manifiesto para determinar a dónde dirigir las solicitudes de unidifusión secuenciales para cada segmento, a una tasa de transferencia de bits particular, según sea necesario. Tal disposición se usa en tecnologías de HTTP Adaptive Streaming como MPEG-DASH y HLS (HTTP Live Streaming) de Apple.
Aunque el servidor de contenido 302 y el Proxy X 306 se muestran en el presente documento como dos entidades separadas, en algunas disposiciones, las dos entidades podrían estar coubicadas o su funcionalidad podría ser proporcionada por un único servidor.
El controlador de multidifusión 312 (MCC) supervisa el funcionamiento del Proxy X y de los Proxies Y y puede controlar los proxies en consecuencia.
Así, la red 300 está dispuesta de tal manera que el Proxy X 306 funciona efectivamente en la raíz de un árbol de multidifusión, solicitando contenido del servidor de contenido a través de unidifusión, y empaquetando el contenido recibido para su transmisión a través de multidifusión a los Proxies Y. Los proxies Y se encuentran en el borde del árbol de multidifusión, recibiendo el contenido del Proxy X a través de multidifusión y almacenándolo en caché localmente (si procede). Los dispositivos cliente pueden realizar solicitudes HTTP GET de contenido a partir de un Proxy Y adecuado.
Los ejemplos de la presente invención exponen cómo se gestionan esas peticiones HTTP GET de manera que la información específica del cliente pueda pasar de un dispositivo cliente al servidor de contenido y viceversa, sin dejar de usar ventajosamente el mecanismo de distribución a través de multidifusión proporcionado entre el Proxy X y los Proxies Y.
La Figura 4 muestra un diagrama de flujo que resume las etapas del funcionamiento de los elementos de la Figura 3 en un ejemplo de la invención.
Comenzando por la etapa 400, el Proxy X 306 comienza a realizar peticiones HTTP GET para segmentos de contenido desde el servidor de contenido 302. El contenido puede ser, por ejemplo, un partido de fútbol en directo. Para ello, el Proxy X 306 puede obtener en primer lugar el archivo de manifiesto asociado al contenido y realiza solicitudes de segmentos de contenido detallados en el manifiesto. Estas solicitudes son normalmente solicitudes HTTP GET, que son de naturaleza unidifusión, con una solicitud realizada para cada segmento de contenido. El servidor de contenido 302 responde enviando el segmento de contenido solicitado en una respuesta HTTP al Proxy X 306. El manifiesto se actualiza periódicamente con los detalles de los nuevos segmentos de contenido, por lo que el Proxy X sigue solicitando segmentos de contenido posteriores hasta que no haya más segmentos enumerados en el manifiesto.
En la etapa 402, el Proxy X 306 pone a disposición en multidifusión los segmentos de contenido que ha recibido. Esto puede comenzar tan pronto como el Proxy X 306 haya recibido el primer segmento de contenido. El Proxy X 306 puede ya haber sido configurado (por ejemplo, bajo la instrucción del controlador de multidifusión 312) para que ciertos contenidos recibidos del servidor de contenido 302 sean transmitidos a través de multidifusión a los Proxies Y. Por ejemplo, cada programa puede colocarse en un canal de multidifusión diferente, definido por su propia dirección IP. La presencia de un nuevo programa y el canal de multidifusión pueden difundirse a los destinatarios potenciales, tales como los Proxies Y, usando técnicas convencionales. El Proxy X 308 empaqueta los segmentos de contenido recibidos para su transmisión por multidifusión y transmite los segmentos de contenido a través de multidifusión.
Ahora se describen las siguientes etapas con referencia al Proxy Y 308a y al dispositivo cliente 304a asociado, aunque se apreciará que otros Proxies Y (y dispositivos cliente asociados) puedan de forma adicional o alternativa estar sujetos al mismo método.
En la etapa 404, el Proxy Y 308a se une al grupo de multidifusión en el que el Proxy X 306 está transmitiendo los segmentos de contenido en la etapa 402. Esto puede iniciarse de antemano, por ejemplo, bajo instrucciones del controlador de multidifusión o en respuesta a una solicitud del mismo contenido por parte de un dispositivo cliente asociado, tal como el dispositivo cliente 304a. Una vez que se ha unido al grupo de multidifusión, el Proxy Y 308a comienza a recibir segmentos de contenido transmitidos a través de multidifusión por el Proxy X. Estos segmentos de contenido recibidos pueden almacenarse en caché en el Proxy Y 308a.
En condiciones normales de funcionamiento, un dispositivo cliente tal como el dispositivo cliente 304a realizaría solicitudes de unidifusión secuenciales de los segmentos de contenido recibidos por el Proxy Y 308a en la etapa 404 y, a continuación, decodificaría y reproduciría el contenido de manera normal. Sin embargo, los ejemplos de la invención modifican el funcionamiento normal como se expone en las etapas 406 a 414 siguientes.
En la etapa 406, el Proxy Y 308a recibe una solicitud HTTP GET para un segmento de contenido del dispositivo cliente 304a. El dispositivo cliente 304a usa un manifiesto adecuado para determinar hacia dónde dirigir las solicitudes HTTP GET para segmentos de contenido.
En la etapa 408, el Proxy Y 308a determina que el segmento de contenido solicitado es uno que ha recibido (en la etapa 404). Sin embargo, en lugar de responder con el segmento de contenido solicitado, el Proxy Y 308a modifica la solicitud HTTP GET a una solicitud HTTP HEAD correspondiente y transmite esa solicitud HTTP HEAD correspondiente a través de unidifusión al servidor de contenido 302. La solicitud HTTP HEAD es idéntica a la solicitud HTTP GET, salvo que la parte que responde no debe devolver un cuerpo de mensaje, es decir, en este ejemplo, el servidor de contenido no debe devolver el segmento de contenido que se solicita.
La solicitud HTTP HEAD puede incluir información específica de la sesión que permite al servidor de contenido 302 autenticar la solicitud y registrarla para su posterior análisis y facturación. Por ejemplo, un dispositivo cliente puede tener que iniciar sesión en el servidor de contenido con un nombre de usuario/credenciales de seguridad, lo que da lugar a que se proporcione un token de seguridad al dispositivo cliente, que éste deberá incluir a continuación en las solicitudes de segmentos posteriores (GET y HEAD).
Es más, tanto las solicitudes HTTP GET como HEAD contienen la dirección IP pública del remitente. El servidor de contenido puede usar esta dirección IP para decidir si permite o no la transmisión del contenido, por ejemplo, sólo desde direcciones IP con sede en el Reino Unido.
La solicitud HTTP HEAD es enviada por el Proxy Y 308a directamente al servidor de contenido 302. Como alternativa, la solicitud puede enviarse a través de Proxy X 306, con el Proxy X 306 reenviando a continuación la solicitud al servidor de contenido 302.
El servidor de contenido 302 recibe la solicitud HTTP HEAD y responde en consecuencia con un mensaje OK 200 enviado a través de unidifusión. La respuesta OK 200 incluye sólo una cabecera y no tiene carga útil, como se requiere para las respuestas a solicitudes HTTP HEAD. La cabecera de respuesta también puede contener información específica de la sesión. El Proxy Y 308a recibe el mensaje de respuesta transmitido por el servidor de contenido en la etapa 410.
En la etapa 412, el Proxy Y compara la respuesta HEAD recibida con la correspondiente carga útil recibida a través de multidifusión (de la etapa 404). El Proxy Y sustituye la cabecera genérica recibida del segmento de multidifusión por la cabecera específica de la sesión recibida a través de unidifusión de la respuesta HEAD, generando así un segmento de contenido específico de la sesión.
Este segmento de contenido generado se transmite a través de unidifusión al dispositivo cliente 304a en la etapa 414.
El dispositivo cliente 304a puede decodificar y reproducir este segmento de contenido o almacenarlo en memoria intermedia para decodificarlo y reproducirlo más tarde, dependiendo de la configuración del dispositivo cliente 304a.
A continuación, en la etapa 416, el dispositivo cliente puede solicitar el siguiente segmento de contenido de la secuencia al Proxy Y 308a y así el procesamiento vuelve a la etapa 406 y el método se repite hasta que el dispositivo cliente decida parar o hasta que se reciba todo el contenido.
El emparejamiento entre cabeceras y cargas útiles puede lograrse por varios métodos.
El Proxy X podría etiquetar los segmentos enviados por multidifusión con la URL de solicitud correspondiente, permitiendo al Proxy Y hacer coincidir las respuestas en su caché con las solicitudes realizadas por los dispositivos cliente.
Como alternativa, se podrían usar Etags (Etiquetas de Entidad). Las Etags forman parte de la especificación HTTP 1.1 y se usan para identificar de forma unívoca las cargas útiles de respuesta). La Etag estará presente tanto en la cabecera genérica recibida a través de multidifusión como en la cabecera específica de la sesión recibida a través de unidifusión por el Proxy Y, por lo que las Etags correspondientes pueden usarse para emparejar las cargas útiles con las cabeceras correctas.
Podrían emplearse otros esquemas de etiquetado (personalizados) con el servidor de contenido 302 colocando cabeceras adicionales en las respuestas tanto al Proxy X como a los Proxies Y con el fin de facilitar el emparejamiento.
Aunque los ejemplos anteriores se han descrito con referencia a las solicitudes HTTP GET y HTTP HEAD, podrían usarse otros tipos de mensajes y protocolos que tengan la misma función.
En general, se observa en el presente documento que, si bien en lo que antecede describe implementaciones a modo de ejemplo, existen diversas variaciones y modificaciones que pueden realizarse a las implementaciones a modo de ejemplo descritas, siempre que estas variaciones y modificaciones se encuentren dentro del alcance de la presente invención, como se define en las reivindicaciones anexas. Un experto en la materia reconocerá las modificaciones a las implementaciones a modo de ejemplo descritas.

Claims (9)

REIVINDICACIONES
1. Un método para distribuir un contenido a un dispositivo cliente (304a) en una red (300) que comprende una pluralidad de dispositivos cliente (304a, 304b, 304c), en donde dicho contenido comprende una secuencia de segmentos, comprendiendo dicho método:
i) recibir (404) en un primer elemento de red (308a) uno o más segmentos procedentes de un servidor de contenido enviados a través de multidifusión;
ii) recibir (406) en el primer elemento de red (308a) una solicitud de un segmento de un dispositivo cliente (304a), en donde la solicitud comprende una solicitud HTTP GET;
iii) en respuesta a la solicitud recibida, enviar (408) mediante el primer elemento de red (308a) una solicitud HTTP HEAD al servidor de contenido (302);
iv) recibir (410) una respuesta a la solicitud HTTP HEAD en el primer elemento de red (308a) a través de unidifusión; v) generar (412) un segmento que comprende la cabecera de la respuesta recibida y una carga útil procedente de uno o más segmentos recibidos;
vi) enviar (414) el segmento generado al dispositivo cliente (304a) a través de unidifusión.
2. Un método según la reivindicación 1, en donde dicha solicitud HTTP HEAD corresponde a la solicitud HTTP GET.
3. Un método según la reivindicación 1 o 2, en donde, en la etapa v), la cabecera y la carga útil se emparejan usando un identificador asociado con la cabecera y un identificador correspondiente asociado con la carga útil.
4. Un método según cualquier reivindicación anterior, en donde dicha solicitud HTTP HEAD comprende información específica de la sesión.
5. Un método según cualquier reivindicación anterior, en donde dicha respuesta comprende información específica de la sesión.
6. Un método según cualquier reivindicación anterior, en donde la solicitud HTTP HEAD se envía directamente al servidor de contenido.
7. Un método según cualquier reivindicación anterior, en donde uno o más segmentos se almacenan en caché en el primer elemento de red.
8. Un método según cualquier reivindicación anterior, en donde la respuesta no contiene una parte de carga útil.
9. Un elemento de red (308a) para gestionar una distribución de contenidos a través de una red (300) a un dispositivo cliente (304a), dicho elemento de red adaptado en funcionamiento para:
recibir (404) uno o más segmentos procedentes de un servidor de contenido (302) enviados a través de multidifusión; recibir (406) una solicitud de un segmento de un dispositivo cliente (304a), en donde la solicitud comprende una solicitud HTTP GET;
enviar (408), en respuesta a la solicitud recibida, una solicitud HTTP HEAD al servidor de contenido (302); recibir (410) una respuesta a la solicitud HTTP HEAD a través de unidifusión;
generar (412) un segmento que comprende la cabecera de la respuesta recibida y una carga útil procedente de uno o más segmentos recibidos;
enviar (414) el segmento generado al dispositivo cliente (304a) a través de unidifusión.
ES21755770T 2020-08-19 2021-08-06 Content delivery Active ES2995486T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2012951.6A GB2598295B (en) 2020-08-19 2020-08-19 Content delivery
PCT/EP2021/071994 WO2022037972A1 (en) 2020-08-19 2021-08-06 Content delivery

Publications (1)

Publication Number Publication Date
ES2995486T3 true ES2995486T3 (en) 2025-02-10

Family

ID=72615472

Family Applications (1)

Application Number Title Priority Date Filing Date
ES21755770T Active ES2995486T3 (en) 2020-08-19 2021-08-06 Content delivery

Country Status (6)

Country Link
US (1) US11729232B2 (es)
EP (1) EP4201001B1 (es)
CN (1) CN116034572B (es)
ES (1) ES2995486T3 (es)
GB (1) GB2598295B (es)
WO (1) WO2022037972A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113475084B (zh) 2019-02-27 2024-02-02 英国电讯有限公司 多播辅助传送
GB2598295B (en) 2020-08-19 2023-02-22 British Telecomm Content delivery

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782490B2 (en) 1999-03-17 2004-08-24 At&T Corp. Network-based service for the repair of IP multicast sessions
US6574795B1 (en) 1999-05-28 2003-06-03 Intel Corporation Reliable communication of data by supplementing a unidirectional communications protocol
US20020124262A1 (en) 1999-12-01 2002-09-05 Andrea Basso Network based replay portal
DE60119866T2 (de) 2000-09-27 2007-05-10 International Business Machines Corp. Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
US6973667B2 (en) 2001-03-01 2005-12-06 Minerva Networks, Inc. Method and system for providing time-shifted delivery of live media programs
US20030149792A1 (en) 2002-02-06 2003-08-07 Leonid Goldstein System and method for transmission of data through multiple streams
JP2004246632A (ja) 2003-02-14 2004-09-02 Hitachi Ltd データ分配サーバ、プログラム及びネットワークシステム
KR100678223B1 (ko) 2003-03-13 2007-02-01 삼성전자주식회사 통신시스템의 패킷 전송 장치 및 방법
EP1675399A3 (en) 2004-12-23 2009-04-29 Bitband Technologies Ltd. Fast channel switching for digital TV
CA2597836C (en) 2005-02-23 2014-07-15 Arroyo Video Solutions, Inc. Fast channel change with conditional return to multicasting
US8713195B2 (en) 2006-02-10 2014-04-29 Cisco Technology, Inc. Method and system for streaming digital video content to a client in a digital video network
US9106800B2 (en) 2007-08-31 2015-08-11 At&T Intellectual Property I, L.P. System and method of monitoring video data packet delivery
US9032433B2 (en) 2007-10-05 2015-05-12 Alcatel Lucent Personalized ad insertion during start over service
US9673996B1 (en) 2008-07-02 2017-06-06 Sprint Spectrum L.P. Redirection of a streaming media session in an anticipated failover scenario
CN101753973B (zh) 2008-12-12 2013-01-02 华为技术有限公司 一种频道切换方法、装置和系统
US9380091B2 (en) 2012-06-12 2016-06-28 Wi-Lan Labs, Inc. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
EP2597824A4 (en) 2010-07-20 2014-02-26 Sharp Kk PROXY SERVER, RELAY METHOD, COMMUNICATION SYSTEM, RELAY CONTROL PROGRAM, AND RECORDING MEDIUM
CN103004229A (zh) 2010-07-20 2013-03-27 夏普株式会社 数据配送系统、数据配送方法、配送侧数据中继装置、及接收侧数据中继装置
DE102010045683A1 (de) 2010-09-16 2012-03-22 Heidelberger Druckmaschinen Ag Kombinierte Unicast/Multicast Softwareübertragung
US8537816B2 (en) 2010-12-29 2013-09-17 Avaya, Inc. Multicast VPN support for IP-VPN lite
US9026671B2 (en) 2011-04-05 2015-05-05 Qualcomm Incorporated IP broadcast streaming services distribution using file delivery methods
US9526091B2 (en) 2012-03-16 2016-12-20 Intel Corporation Method and apparatus for coordination of self-optimization functions in a wireless network
EP2670109B1 (en) * 2012-06-01 2015-07-29 Alcatel Lucent Method, system and devices for multimedia delivering in content delivery networks
CN104704793B (zh) 2012-08-14 2018-05-25 瑞典爱立信有限公司 用于多媒体数据的处理的方法和装置
US9402107B2 (en) 2013-03-15 2016-07-26 Time Warner Cable Enterprises Llc Apparatus and methods for delivery of multicast and unicast content in a content delivery network
EP3054692A4 (en) 2013-10-01 2017-04-05 Dentsu Inc. Multi-viewpoint moving image layout system
GB2521845B (en) 2014-01-03 2021-07-07 British Broadcasting Corp Content delivery
CN106233735B (zh) * 2014-03-31 2020-10-02 英国电讯有限公司 管理多播视频传送的方法
CN106464932A (zh) 2014-03-31 2017-02-22 英国电讯有限公司 多播流传输
US10666697B2 (en) 2014-12-31 2020-05-26 British Telecommunications Public Limited Company Multicast to unicast conversion
US10129855B1 (en) 2015-05-07 2018-11-13 Sprint Spectrum L.P. Systems and methods for efficient transmissions of multicast content to wireless devices
CN107637084A (zh) 2015-05-20 2018-01-26 Nxt解决方案公司 被管网络中的iptv
US9871666B2 (en) 2015-06-25 2018-01-16 AvaLAN Wireless Systems, Inc. Intermediate unicast network and method for multicast data networks
US10250499B2 (en) 2015-08-27 2019-04-02 Koninklijke Kpn N.V. Multicast transmission using programmable network
EP3529972B1 (en) * 2016-10-18 2021-07-28 Expway A method for transmitting content to mobile user devices
EP3545648B1 (en) 2016-11-23 2024-08-14 Nokia Technologies Oy Delivery of sub-service flows using broadcast, multicast
JP2018129599A (ja) 2017-02-07 2018-08-16 株式会社毎日放送 受信装置、受信方法、送信装置、及び送信方法
US10257077B1 (en) 2017-03-22 2019-04-09 Amazon Technologies, Inc. Hop-aware multicast in a mesh network
US10972761B2 (en) 2018-12-26 2021-04-06 Purdue Research Foundation Minimizing stall duration tail probability in over-the-top streaming systems
US20190190971A1 (en) * 2019-02-22 2019-06-20 Akamai Technologies Inc. Reducing latency in multicast delivery of content
GB201902640D0 (en) * 2019-02-27 2019-04-10 British Telecomm Multicast assisted delivery
CN113475084B (zh) * 2019-02-27 2024-02-02 英国电讯有限公司 多播辅助传送
GB2598295B (en) 2020-08-19 2023-02-22 British Telecomm Content delivery
US11343348B1 (en) * 2021-04-12 2022-05-24 Akamai Technologies, Inc. Real-time message delivery and update service in a proxy server network

Also Published As

Publication number Publication date
GB2598295B (en) 2023-02-22
EP4201001B1 (en) 2024-09-04
US20230216905A1 (en) 2023-07-06
WO2022037972A1 (en) 2022-02-24
EP4201001A1 (en) 2023-06-28
GB2598295A (en) 2022-03-02
US11729232B2 (en) 2023-08-15
CN116034572B (zh) 2024-02-27
GB202012951D0 (en) 2020-09-30
CN116034572A (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
US11812115B2 (en) Multicast assisted delivery
ES2586818T3 (es) Control de flujo de contenido tratado inicialmente en red
US9510061B2 (en) Method and apparatus for distributing video
ES3028613T3 (en) Content delivery - setting the unicast rate
US12113842B2 (en) Content delivery
ES2995486T3 (en) Content delivery
GB2583020A (en) Multicast assisted delivery
Franke et al. MCQUIC-A multicast extension for QUIC
CN114270790B (zh) 内容递送
CN115769548A (zh) 内容递送
WO2025162630A1 (en) Multicast join method
VARGHESE Peer to peer streaming peer protocol
Medina-López et al. P2PSP (Peer-to-Peer “Straightforward” Protocol)
dos Santos Pinto Key distribution technique for IPTV services with support for admission control and user defined groups