ES2425627B1 - Método y rastreador para distribución de contenido a través de una red de distribución de contenido - Google Patents

Método y rastreador para distribución de contenido a través de una red de distribución de contenido Download PDF

Info

Publication number
ES2425627B1
ES2425627B1 ES201130757A ES201130757A ES2425627B1 ES 2425627 B1 ES2425627 B1 ES 2425627B1 ES 201130757 A ES201130757 A ES 201130757A ES 201130757 A ES201130757 A ES 201130757A ES 2425627 B1 ES2425627 B1 ES 2425627B1
Authority
ES
Spain
Prior art keywords
content
tracker
cdn
end nodes
nodes
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.)
Withdrawn - After Issue
Application number
ES201130757A
Other languages
English (en)
Other versions
ES2425627R1 (es
ES2425627A2 (es
Inventor
Eguzki ASTIZ LEZAUN
Parminder Chhabra
Armando Antonio GARCIA MENDOZA
Arcadio PANDO CAO
Pablo Rodriguez Rodriguez
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.)
Telefonica SA
Original Assignee
Telefonica SA
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
Priority to ES201130757A priority Critical patent/ES2425627B1/es
Application filed by Telefonica SA filed Critical Telefonica SA
Priority to BR112013028994A priority patent/BR112013028994A2/pt
Priority to US14/116,863 priority patent/US20140215059A1/en
Priority to EP12726364.8A priority patent/EP2708010A1/en
Priority to PCT/EP2012/058362 priority patent/WO2012152751A1/en
Priority to ARP120101648A priority patent/AR086338A1/es
Publication of ES2425627A2 publication Critical patent/ES2425627A2/es
Publication of ES2425627R1 publication Critical patent/ES2425627R1/es
Priority to CL2013003220A priority patent/CL2013003220A1/es
Application granted granted Critical
Publication of ES2425627B1 publication Critical patent/ES2425627B1/es
Withdrawn - After Issue legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • 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/40Support for services or applications
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number

Landscapes

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

Abstract

Método y rastreador para distribución de contenido a través de una red de distribución de contenido.#El método comprende usar un rastreador para coordinar las entidades que forman la infraestructura de la CDN, comprendiendo dicho rastreador una capa CDN con interfaces para las entidades CDN y una capa de red para proporcionar servicios de red y comunicación a la capa CDN y realizar las siguientes etapas: identificar otros nodos de extremo en su proximidad; devolver una lista con dichos nodos de extremo próximos al usuario final; correlacionar contenedores de contenido con dichos nodos de extremo que almacenan y sirven contenido solicitado; hacer que la CDN responda a condiciones de red cambiantes y encuentre los nodos de extremo más adecuados para proporcionar el contenido; y colaborar en la resolución de DNS a través de un servicio correspondiente.#El rastreador está diseñado para implementar el método del primer aspecto.

Description


MÉTODO Y RASTREADOR PARA DISTRIBUCIÓN DE CONTENIDO A TRAVÉS DE
UNA RED DE DISTRIBUCIÓN DE CONTENIDO
Campo de la técnica
La presente invención se refiere en general, en un primer aspecto, a un método para distribución de contenido a través de una red de distribución de contenido (CDN), y más particularmente a un método que comprende usar un rastreador para coordinar las entidades de dicha red de distribución de contenido.

Un segundo aspecto de la invención se refiere a un rastreador diseñado para implementar el método del primer aspecto.
Estado de la técnica anterior
En una red P2P como BitTorrent [1] [2], el rastreador actúa como la entidad de coordinación central para la transferencia P2P de archivos entre los usuarios finales solicitantes. En BitTorrent, el rastreador proporciona archivos torrent que van a descargarse de un sitio web. El rastreador mantiene información acerca de todos los clientes utilizando cada torrente.
En una descarga clásica (normalmente con petición HTTP o FTP), un cliente se conecta al servidor (que tiene el contenido) y se produce la transferencia del archivo a través de una única conexión. El protocolo BitTorrent difiere de la descarga clásica en varios aspectos: (a) BitTorrent realiza muchas peticiones de pequeños bloques de datos a través de diferentes conexiones TCP a diferentes máquinas. (b) BitTorrent descarga bloques de archivo en un modo de “el menos frecuente primero”. En este caso, se descargan en primer lugar los fragmentos menos frecuentes del archivo entre nodos de entorno iguales. Esto garantiza que si uno o más iguales abandona el torrente, los bloques de archivo menos frecuentes quedan disponibles para la descarga. En una descarga clásica, el archivo se descarga secuencialmente y todo de una vez [1] [2].
Puesto que otros clientes se comportan como un servidor en la distribución de contenido, esto hace que las descargas de BitTorrent sean muy rentables para los propietarios de contenido. Además, el protocolo BitTorrent tiene una mayor resistencia a masificaciones repentinas que proporcionar contenido desde un servidor en una única conexión. Como aspecto negativo, puesto que el cliente (o igual) descarga fragmentos de archivos de iguales a tasas de transmisión diferentes, tendrá tiempos de descarga más largos en comparación con un igual que descargue un archivo a una tasa de transmisión alta en una única conexión.
Las CDN existen desde hace más de una década. Como consecuencia, existe un número significativo de diseños CDN. Sin embargo, ninguna de ellas usa un rastreador como elemento para coordinar entre los elementos de la CDN. Los diseños CDN se basan en el uso de una jerarquía de servidores DNS [4] o en el uso de redirección de HTTP [5][7] como forma de identificar un nodo de extremo o usar una ubicación de usuario solicitante para determinar la ubicación de borde más próxima que está mejor situada [6] para proporcionar contenido.
Sólo CoralCDN [8] se basa en la arquitectura P2P motivada en parte por el protocolo BitTorrent original [2]. Sin embargo, la CDN se basa en DHT y carece de rastreador. Sólo el protocolo BitTorrent original usa el rastreador como entidad central que ayuda a iguales a compartir datos.
Los rastreadores en las redes P2P como BitTorrent se han diseñado para dos fines principales: (1) realizar un seguimiento de cada torrente activo identificando de ese modo tanto la red como los usuarios finales que están cargando y descargando archivos. (2) realizar un seguimiento de los fragmentos de un archivo que cada cliente posee, ayudando de ese modo a los iguales a compartir datos de manera eficaz. Cuando un igual solicita descargar un contenido, el rastreador devuelve una lista de iguales que forman parte del torrente. El cliente se conecta entonces a los iguales y comienza a descargar el archivo de contenido. Se han propuesto e implementado varios diseños de rastreador de P2P [2]. Sin embargo, son muy similares en cuanto a diseño y función. La diferencia clave en las implementaciones radica en cómo identifican los rastreadores a los iguales rápidos para compartir el archivo para acelerar los tiempos de descarga.
En [10], el rastreador hace referencia a información acerca de otros iguales (que pueden estar asociados con diferentes rastreadores) para que se unan para formar una nube de P2P para acelerar la compartición de contenido. Esto es meramente una variante del diseño de rastreador en la arquitectura de BitTorrent. De manera similar, [11] usa diversos criterios para encontrar iguales rápidos para acelerar la descarga de contenido.
El rastreador en la CDN del proveedor de servicio se diseña teniendo en cuenta diferentes servicios: El rastreador se diseña para coordinar las diversas entidades en la CDN. Además, a petición, un rastreador ayuda a un nodo de extremo (o servidor de contenido) a identificar otros nodos de extremo en su entorno que pueden ayudar a intercambiar contenido cuando sea necesario. La identificación de iguales para realizar una distribución de contenido de P2P constituye sólo una parte muy pequeña del diseño del rastreador.
A continuación, se incluyen terminología y definiciones que podrían ser útiles para entender la presente invención, y también las propuestas citadas en la presente sección.
PoP: Un punto de presencia es una demarcación artificial o punto de interfaz entre dos entidades de comunicación. Es un punto de acceso a Internet que aloja servidores, conmutadores, encaminadores y agregadores de llamadas. Los ISP normalmente tienen múltiples PoP.
Sistema autónomo (AS): Un sistema autónomo es un conjunto de prefijos de encaminamiento de IP que están bajo el control de uno o más operadores de red y presenta una política de encaminamiento a Internet común, claramente definida.
Red de distribución de contenido (CDN): Se refiere a un sistema de nodos (u ordenadores) que contienen copias de contenido de cliente que está almacenado y situado en diversos puntos en una red (o Internet pública). Cuando se replica contenido en diversos puntos en la red, el ancho de banda se utiliza mejor a lo largo de la red y los usuarios tienen tiempos de acceso más rápidos al contenido. De este modo, el servidor original que contiene la copia original del contenido no experimenta atascos.
Sistema de resolución de DNS de ISP: Los usuarios residenciales se conectan a un ISP. Cualquier petición para resolver una dirección se envía a un sistema de resolución de DNS mantenido por el ISP. El sistema de resolución de DNS de ISP enviará la petición de DNS a uno o más servidores DNS dentro del dominio administrativo del ISP.
URL: En términos sencillos, el Uniform Resource Locator (URL, localizador uniforme de recursos) es la dirección de una página web en la worldwide web. No hay dos URL idénticos. Si son idénticos, apuntan al mismo recurso.
Redirección de URL (o HTTP): La redirección de URL también se conoce como reenvío de URL. Puede ser necesario redireccionar una página: (1) si su nombre de dominio ha cambiado, (2) si se crean alias significativos para URL largos o que cambian frecuentemente (3) si el usuario deletrea mal el nombre de domino al teclearlo (4) si se manipula a los visitantes, etc. Para los fines de la presente invención, un servicio de redirección típico es uno que redirecciona usuarios al contenido deseado. Un enlace de redirección puede usarse como dirección permanente para contenido que cambia frecuentemente de anfitrión (host) (casi como de DNS).
Contenedor: Un contenedor es un compartimento lógico para un cliente que contiene el contenido del cliente CDN. Un contenedor o bien establece una conexión entre el URL del servidor original y el URL de la CDN o bien puede contener el propio contenido (que se carga en el contenedor en el punto de entrada). Un nodo de extremo replicará archivos desde el servidor original a archivos en el contenedor. Cada archivo en un contenedor puede correlacionarse exactamente con un archivo en el servidor original. Un contenedor tiene varios atributos asociados con él – el tiempo desde y el tiempo hasta que el contenido es válido, geobloqueo de contenido, etc. También se utilizan mecanismos para garantizar que se transmiten automáticamente nuevas versiones del contenido en el servidor original al contenedor en los nodos de extremo y se eliminan versiones antiguas.
Un cliente puede tener tantos contenedores como desee. Un contenedor es realmente un directorio que contiene archivos de contenido. Un contenedor puede contener subdirectorios y archivos de contenido dentro de cada uno de los subdirectorios.
Geolocalización: Es la identificación de ubicaciones geográficas reales de un dispositivo conectado a Internet. El dispositivo puede ser un ordenador, dispositivo móvil o un aparato que permita la conexión a Internet a un usuario final. Los datos de geolocalización de la dirección IP pueden incluir información tal como país, región, ciudad, código postal, latitud / longitud de un usuario.
Unidad de negocio (OB): Una OB es un área geográfica arbitraria en la que la CND del proveedor de servicio está instalada. Una OB puede operar en más de una región. Una región es un área geográfica arbitraria y puede representar un país, o parte de un país o incluso un conjunto de países. Una OB puede estar compuesta por más de una región. Una OB puede estar compuesta por uno o más ISP. Una OB tiene exactamente una instancia de servidor de topología.
ID de partición: Es una correlación global de prefijos de dirección IP con números enteros. Se trata de una correlación uno a uno. Por tanto, no hay dos OB con el mismo PID en su dominio.
Aplicación de función hash (hashing) consistente: Este método proporciona la funcionalidad de una tabla hash de modo que la adición o eliminación de una ranura no altera significativamente la correlación de llaves con ranuras. La aplicación de función hash consistente es un modo de distribuir peticiones entre una población grande y cambiante de servidores web. La adición o eliminación de un servidor web no altera significativamente la carga en los otros servidores.
MD5: En criptografía, MD5 es una función criptográfica usada ampliamente con un valor hash de 128 bits. MD5 se usa ampliamente para probar la integridad de los archivos. MD5 se expresa normalmente como un número hexadecimal.
DSLAM: Un DSLAM es un dispositivo de red que reside en un intercambio telefónico de un proveedor de servicios. Conecta múltiples líneas de abonado digital (DSL) a una red principal de Internet de alta velocidad usando multiplexación. Esto permite que las líneas telefónicas realicen una conexión más rápida a Internet. Normalmente, un DSLAM da servicio a varios cientos de residentes (como máximo a algunos miles de residentes).
Tabla hash distribuida (DHT): Tabla hash distribuida es una clase de sistema distribuido que proporciona un servicio de búsqueda similar a pares de tablas hash (llave, valor) Cualquier nodo puede recuperar un valor asociado con una llave dada. La responsabilidad de mantener la correlación de llaves con valores se distribuye entre los nodos de tal manera que cualquier cambio en el conjunto de participantes produce alteración mínima.
Las DHT se usan para construir muchos servicios complejos tales como sistemas de archivos distribuidos, compartición de archivos de igual a igual y sistemas de distribución de contenido.
A continuación se describe la función de los rastreadores usados en la transferencia de datos P2P de BitTorrent:
Un rastreador de BitTorrent [1] es un servidor que ayuda a la comunicación entre iguales en el protocolo BitTorrent [2]. En el protocolo BitTorrent:
Se requiere que los clientes se comuniquen con el rastreador para empezar la descarga (la dirección IP del rastreador forma parte del archivo torrent que el usuario final descarga con el fin de empezar a descargar el contenido).
El rastreador localiza torrentes con el mismo contenido que los del usuario final solicitante. El rastreador también identifica los iguales con los que el usuario final solicitante puede intercambiar datos.
Los clientes que ya están descargando contenido también se comunican con el rastreador periódicamente para obtener nuevos iguales y también para notificar estadísticas.
El rastreador sólo se comunica con iguales (nodos de extremo) o con otros rastreadores.
Si el rastreador no está en línea, los iguales no podrán compartir los perfiles P2P. Más recientemente, la funcionalidad del rastreador se descentralizó usando DHT lo que hace que los torrentes sean más independientes del rastreador.
Los requisitos de un rastreador en una CDN son significativamente diferentes de los de un rastreador de BitTorrent.
Descripción de la invención
Es necesario proporcionar una alternativa al estado de la técnica, que cubra las lagunas encontradas en la misma, en particular las relacionadas con la falta de propuestas que proporcionen los requisitos que es necesario que tenga un rastreador implementado en una CDN. Dichos requisitos son: Un rastreador CDN de este tipo no tendría que manejar archivos torrent generados anteriormente para contenido. Como consecuencia, el rastreador CDN no conocería los iguales que participan en los torrentes. La CDN necesita una entidad (el rastreador) para correlacionar peticiones de contenido con nodos de extremo que almacenan y proporcionan el contenido. Cuando un nodo de extremo solicita contenido a sus iguales, solicita al rastreador una lista de nodos de entorno (nodos de extremo) que idealmente están en proximidad física al usuario final solicitante (centro de datos más próximo al usuario final). Los diseños actuales de rastreadores no están completamente equipados para gestionar esta tarea, aunque existe algún progreso en esta área tal como se observa en [3]. Cualquier cambio en las condiciones de red se alimenta al ecosistema CDN. Esto permite que la CDN responda a condiciones cambiantes y encuentre los nodos de extremo más adecuados para proporcionar contenido. Los rastreadores actuales no pueden gestionar esta tarea.
Para abordar las necesidades requeridas, la presente invención se refiere a un método para distribución de contenido a través de una red de distribución de contenido, que comprende usar un rastreador para coordinar las entidades que constituyen la infraestructura de dicha CDN. Dicho rastreador tiene una capa CDN que comprende interfaces para al menos parte de dichas entidades y una capa de red para proporcionar servicios de red y comunicación a dicha capa CDN.
Dichas entidades de infraestructura CDN son una o más de las siguientes: servidores originales, rastreadores, nodos de extremo, servidores de topología, servidores DNS y un punto de entrada.
Según un segundo aspecto, la presente invención se refiere a un rastreador para distribución de contenido a través de una red de distribución de contenido, que comprende una capa CDN y una capa de red para abordar el método del primer aspecto de la invención. Por tanto, el segundo aspecto de la invención se diseña para realizar las tareas del primer aspecto.
Otras realizaciones del método del primer aspecto de la invención se describen en las reivindicaciones 2 a 20 adjuntas, y en una sección posterior relativa a la descripción detallada de varias realizaciones. Dichas realizaciones también son válidas para describir el rastreador del segundo aspecto de la invención.
Breve descripción de los dibujos
Las ventajas y características anteriores, y otras, se entenderán de manera más completa a partir de la siguiente descripción detallada de realizaciones, con referencia a los dibujos adjuntos, que deben considerarse de manera ilustrativa y no limitativa, en los que:
La figura 1 muestra los diversos módulos que forman el rastreador del segundo aspecto de la invención que también usa el método del primer aspecto.
La figura 2 muestra los muchos intercambios de contenido entre el rastreador y otros elementos de la CDN para la sincronización y para una realización del método del primer aspecto de la invención.
La figura 3 muestra parte de una resolución de DNS realizada con la colaboración del rastreador, para una realización del método del primer aspecto de la invención, en la que el rastreador devuelve una lista de nodos de extremo disponibles al usuario final solicitante.
Descripción detallada de varias realizaciones
A continuación se describe cada componente del subsistema del proveedor de servicio CDN. La infraestructura consiste en servidores originales, rastreadores, nodos de extremo y punto de entrada. Punto de publicación: Cualquier cliente CDN puede interaccionar con la infraestructura del proveedor de servicio CDN únicamente a través del punto de publicación (también denominado a veces punto de entrada para mayor simplicidad).
El punto de publicación ejecuta una interfaz de servicios web con usuarios de cuentas registradas para crear / borrar y actualizar contenedores. Un cliente CDN tiene dos opciones para cargar contenido. El cliente puede o bien cargar archivos en el contenedor o bien dar los URL de los archivos de contenido que residen en el sitio web del cliente CDN. Una vez que la infraestructura CDN descarga el contenido, los archivos se mueven a otro directorio para su postprocesamiento. Las etapas de postprocesamiento implican comprobar la consistencia de los archivos y si hay algún error. Sólo entonces se mueve el archivo descargado al servidor original. El servidor original contiene la copia maestra de los datos. Nodo de extremo: Un nodo de extremo es la entidad que gestiona la comunicación entre usuarios finales y la infraestructura CDN. Esencialmente es un servidor HTTP personalizado. Rastreador: El rastreador es la entidad clave que permite la inteligencia y coordinación de la infraestructura del proveedor de servicio CDN. Esta invención describe el diseño del rastreador y su función como componente clave de la infraestructura CDN. Servidor original: Este es el (los) servidor(es) en la infraestructura del proveedor de servicio CDN que contiene(n) la copia maestra de los datos. Cualquier nodo de extremo que no tenga una copia de los datos puede solicitarla del servidor original. El cliente CDN no tiene acceso al servidor original. La infraestructura del proveedor de servicio CDN mueve los datos desde el punto de publicación al servidor original tras realizar comprobaciones de seguridad en los datos descargados. Servidor de topología: La información sobre la topología de red de una OB se mantiene en su servidor de topología. La topología de red es realmente una matriz de costes a través de trayectorias de red. La CDN usa la matriz de costes eligiendo la trayectoria cuando entrega contenido al nodo de extremo. A continuación, con referencia a la figura 1, se describe una arquitectura detallada del rastreador en una CDN de proveedor de servicio. Esto es válido tanto para el rastreador del segundo aspecto de la invención como también para el rastreador usado por el método del primer aspecto de la invención. Las funciones principales del rastreador CDN son coordinar los diversos elementos CDN, ayudar a sincronizar la información entre los elementos CDN y los nodos de extremo, participar en la resolución de DNS, identificar los nodos de extremo menos cargados que están mejor situados para proporcionar contenido a usuarios finales solicitantes, usar la información de red actual para identificar la trayectoria de menor coste entre un usuario final solicitante y un nodo de extremo de servicio. El rastreador también es el elemento que correlaciona contenido con nodos de extremo usando aplicación de función hash consistente [1][9]. El rastreador detallado en esta invención es la entidad que permite la inteligencia y coordinación entre elementos en la infraestructura CDN. El rastreador también ayuda a equilibrar la carga a través de todos los nodos de extremo en la OB que despliega la CDN. Generalmente, hay exactamente un rastreador desplegado por región en una OB. El diseño del rastreador consiste en dos capas: la capa de red y la capa CDN (véase la figura 1). La capa de red proporciona servicios de transporte y comunicación a la capa CDN. Los servicios de transporte se realizan a través de protocolos estándar. TCP, HTTP. El rastreador también participa en la resolución de DNS. La capa CDN consiste en: Módulo de aplicación de función hash consistente, módulo de gestión de nodos de entorno, módulo equilibrador de carga y el módulo de resolución de DNS. Además, el rastreador tiene interfaces de servicios web para la comunicación con los nodos de extremo y el gestor de contenido CDN, el servidor de topología y el servidor DNS.
Interfaces del rastreador: El rastreador mantiene interfaces con las cuatro entidades siguientes del ecosistema CDN: nodo de extremo, gestor CDN , servidor de topología y servidor DNS. La comunicación con cada una de las entidades CDN se produce mediante RPC. Los RPC pueden adoptar cualquier formato: XML, binario, objeto json, llamada a API de REST, etc. con HTTP como mecanismo de transporte. Las interfaces entre el rastreador y otras entidades CDN son las siguientes (véase la figura 1): Nodo de extremo: El rastreador (a) mantiene información sobre contenido en cada nodo de extremo y (b) recoge estadísticas periódicamente de cada nodo de extremo. El rastreador mantiene la siguiente información de cada nodo de extremo: El nodo de extremo notifica el número de bytes salientes, el número de bytes entrantes entre dos periodos de notificación, el espacio de disco libre disponible y el número de conexiones activas para cada contenedor. El rastreador usa esta información para inferir la carga en un nodo de extremo. En respuesta a las estadísticas del nodo de extremo, el rastreador devuelve una lista de nodos de entorno activos al nodo de extremo. Esto garantiza que cada vez, cada
nodo de extremo tiene un conjunto nuevo de nodos de entorno activos que puede usar para comunicación P2P. Gestor CDN: Cualquier cambio en los metadatos de un contenedor (o del archivo en un contenedor) realizado por un cliente se refleja inmediatamente en el gestor CDN. Puesto que el rastreador sincroniza los contenedores con el gestor CDN periódicamente, cualquier cambio en los metadatos del contenedor se refleja en el rastreador. El rastreador también se sincroniza con los nodos de extremo frecuentemente. Por tanto, cualquier cambio en los metadatos del contenedor (o cualquier archivo en un contenedor) en el gestor CDN se propaga a los nodos de extremo en muy poco tiempo. Servidor DNS: El rastreador obtiene un archivo que contiene información sobre regiones, denominado regiondb del servidor DNS TLD. Esta información es útil para un nodo de extremo con el fin de determinar la región de una petición original. Si la región de la petición original no es la misma que la del nodo de extremo, el nodo de extremo vuelve a HTTP 302 mientras que codifica la región como parte del URL. Cuando el usuario final realiza la petición del nuevo URL, el servidor DNS TLD identifica la región correcta y reenvía la petición al servidor DNS autorizado para esa región. El regiondb también es útil para realizar geobloqueo de contenido a los clientes que puede no verse desde ciertas ubicaciones.
Servidor de topología: El rastreador busca información sobre las particiones (o subredes), pidlocdb y la matriz  de costes (denominada costmatrix) entre particiones (o subredes) del servidor de topología. Obtiene ambas informaciones periódicamente.
Interacciones del rastreador: La interacción del rastreador se resume de la siguiente forma, y se ilustra en la figura 2 para un proceso de sincronización entre el rastreador y los elementos de la CDN:
Rastreador y nodos de extremo:
(1)
allbuckets: Se llama a esto para obtener información sobre contenedores. No se devuelve información si los contenedores no han cambiado desde la última petición (es decir, no se ha creado ningún contenedor nuevo y no ha habido ningún cambio en los metadatos de ningún contenedor).
nodos de extremo > rastreador: Petición HTTP GET rastreador > nodos de extremo: respuesta HTTP
(2)
updateNodeStats: Los nodos de extremo llaman periódicamente a esto para notificar estadísticas de nivel de nodo (a través de HTTP POST). A cambio, se adjunta una lista de nodos de entorno activos al nodo de extremo. nodo de extremo > rastreador: HTTP POST rastreador > nodos de extremo: Respuesta HTTP a POST y lista de nodos de entorno activos del nodo de extremo que proporciona las estadísticas.
(3)
updateRegionsdb: Se llama a esto para obtener el último Regiondb. Sólo se envían las nuevas actualizaciones en lugar la toda la base de datos. Cada vez que OB crean / eliminan una región nueva, se actualiza la tabla de regiondb. Puesto que los nodos de extremo ayudan a resolver peticiones de DNS, es necesario propagar la última tabla de regiondb a los nodos de extremo en cuanto se crea una región nueva. nodos de extremo > Rastreador: Petición HTTP GET Rastreador > nodos de extremo: Respuesta HTTP con una copia de regiondb 4) pidlocdb: Un nodo de extremo llama a esto para devolver el PID & prefijo / máscara de IP asociados con cada región en una OB. nodos de extremo > Rastreador: Petición HTTP GET Rastreador > nodos de extremo: Respuesta HTTP con una copia de pidlocdb
Rastreador y servidor DNS:
(1) Obtener regiondb para identificar la lista de nodos de extremo para una id e información geográfica de contenedor. En caso de cambios en regiondb, sólo se envían las actualizaciones. nodos de extremo > Servidor DNS: Petición HTTP GET Servidor DNS > nodos de extremo: Respuesta HTTP con una copia de regiondb
Rastreador y gestor CDN:
(1)
allbuckets: Obtiene todos los contenedores del gestor de publicación que reside en el servidor de publicación. rastreador > gestor CDN: HTTP GET gestor CDN > rastreador: respuesta HTTP
(2)
geodb: Obtiene la última base de datos de geolocalización del gestor CDN. Esto es útil para garantizar que los nodos de extremo permiten que continúen las peticiones de contenido sólo si el usuario final solicitante pertenece a una región en la que puede mostrarse el contenido. rastreador > gestor CDN: HTTP GET
gestor CDN > rastreador: Respuesta HTTP con una copia de la base de datos de geolocalización.
Rastreador y Servidor de topología
1) pidlocdb: Obtiene la lista de PID (ID de partición y los prefijos de IP correspondientes) del servidor de topología que mantiene los últimos pares de PID/prefijos de IP para todas las regiones. rastreador > servidor de topología: HTTP GET servidor de topología > rastreador Respuesta HTTP con una copia de la base de datos de ubicación de PID.
(2) costmatrix: Obtiene el coste unidireccional de la transferencia de datos entre todos los PID (trayectoria entre PID en la fila i y PID en la columna j para todos i y j, en la que i y j son PID). Si la trayectoria entre dos PID no existe, la ubicación de matriz para tal trayectoria contiene un valor negativo que no se tiene en cuenta en el cálculo del coste. rastreador > servidor de topología: HTTP GET servidor de topología > rastreador Respuesta HTTP con una copia de la matriz de costes. El rastreador usa la matriz de costes recibida del servidor de topología para determinar el encaminamiento entre los PID origen y destino (usuario final solicitante). Rastreador como equilibrador de carga: Puesto que todas las peticiones para identificar el nodo de extremo que está mejor situado para proporcionar contenido llegan a través del rastreador, es el elemento natural para equilibrar peticiones de usuarios finales a través de todos los nodos de extremo. En cuanto al diseño del subsistema de DNS en la CDN del proveedor de servicio, el rastreador equilibra la carga de las peticiones a través de los nodos de extremo que no están muy cargados. Esto permite que la infraestructura CDN se ajuste al número de peticiones. Los nodos de extremo, a su vez, o bien (a) envían un mensaje de Redirección HTTP 302 al usuario final solicitante o bien (b) se identifican como los mejor situados para proporcionar contenido. El rastreador puede equilibrar la carga de las peticiones mediante uno cualquiera de los siguientes algoritmos (a) roundrobin, (b) ubicación geográfica mientras se da preferencia de nodos de extremo en la misma región o (c) cualquier política que asocie el contenido con un pequeño subconjunto de nodos de extremo (o bien debido a la popularidad del contenido o bien porque los nodos de extremo configurados sólo proporcionan cierto tipo de contenido). El mecanismo de gestión de recursos está diseñado para permitir que la CDN equilibre las peticiones a través de los nodos de extremo de la CDN. Para equilibrar la carga, se usa la aplicación de función hash consistente. Un motivo clave para usar la aplicación de función hash consistente es que añadir un nodo o eliminar un nodo no cambia significativamente la correlación de contenido con los nodos de extremo. En cambio, para las tablas hash tradicionales, el cambio del número de nodos de extremo hace que casi todo el contenido se correlacione con nodos de extremo. Mecanismo de gestión de recursos: El mecanismo de gestión de recursos en el rastreador realiza lo siguiente: (1) Correlaciona el contenido con nodos de extremo distribuidos geográficamente dentro de un país o una región. (2) Mantiene una correlación de direcciones de subred IP con ID de partición. Mediante la identificación de los PID del usuario final, y conociendo el PID del contenido, el nodo de extremo sabe si el contenido solicitado puede proporcionarse o debe geobloquearse. (3) El nodo de extremo usa una matriz de PID que tiene pesos asociados con cada par de PID. Esto permite que el mecanismo de gestión de recursos identifique el mejor PID (y por tanto, la subred) que puede proporcionar contenido. Posteriormente, el rastreador envía la petición al nodo de extremo que tiene el contenido en el PID identificado en la etapa anterior. El nodo de extremo realiza la función de redirección para una petición de cliente. Como parte de este redirección, el nodo de extremo necesita identificar el PID que puede proporcionar mejor el contenido. Esta identificación se realiza usando aplicación de función hash consistente en los nodos de extremo. Habilitación y deshabilitación de nodos de extremo: De cuando en cuando, puede ser necesario desactivar nodos de extremo por motivos de mantenimiento o porque es necesario sustituirlos / mejorarlos. Para mayor facilidad de administración, se dota al administrador CDN de capacidad para desactivar nodo(s) de extremo. De manera similar, también se prevén llamadas a API para habilitar y deshabilitar nodos de extremo. Los nodos de extremo pueden deshabilitarse en el rastreador con una llamada a API. Se llama a /api/tracker/policies/disablenodes con un objeto JSON como: {‘disabled_endpoints’ : [node0, node1, ..., nodeN1]}. En este caso, node0 a nodeN1 son una lista de direcciones IP que es necesario que el rastreador deshabilite. Una descripción detallada para deshabilitar un nodo de extremo se presenta a continuación, para una realización. Antes de deshabilitar un nodo de extremo, el rastreador garantiza que (1) ningún usuario final está accediendo a contenido en el nodo de extremo (y si están accediendo a contenido, el rastreador garantiza que el nodo de extremo termina el procesamiento de la petición en curso). (2) Ya no se considera al nodo de extremo como parte de la infraestructura CDN cuando dirige las peticiones posteriores de contenido de los usuarios finales a los nodos de extremo. La llamada a API correspondiente para habilitar nodos de extremo, concretamente enablenodes se llama con un objeto JSON como: {‘enable_endpoints’ : [node0, node1, ..., nodeN1]}. En este caso, node0 a nodeN1 son una lista de direcciones IP que es necesario que el rastreador habilite. Cuando se une un nodo de extremo: Se da a un nodo de extremo la dirección del rastreador como parte de la configuración. Como parte de la inicialización, el nodo de extremo entra en contacto con el rastreador. El nodo de extremo mantiene una conexión abierta con el rastreador. Esto permite que el rastreador conozca el estado de cada nodo de extremo. Los nodos de extremo usan esta conexión para enviar las estadísticas de nodo al rastreador periódicamente. Si la conexión se cierra inesperadamente, el nodo de extremo intentará volver a conectarse con el rastreador abriendo otra conexión. Cuando un nodo de extremo sale inesperadamente: Si el rastreador no recibe estadísticas actualizadas de un nodo de extremo durante un periodo de tiempo (o se interrumpe la conexión con el rastreador), supone que el nodo de extremo ya no forma parte de la infraestructura CDN. Como resultado, el rastreador no tiene en cuenta tal nodo para la distribución de contenido (y por tanto, para la aplicación de función hash consistente o como nodo de entorno para otros nodos de extremo). Encontrar iguales geográficamente próximos: El rastreador es responsable de devolver una lista de nodos de extremo que están mejor situados para proporcionar el contenido solicitado al usuario final. En este caso se describe como parte del proceso de resolución de DNS que se ocupa de devolver una lista de nodos de extremo al usuario final. Geolocalización de nodos de extremo en un rastreador: El rastreador tiene una lista de parámetros para cada nodo de extremo para ayudar en la geolocalización. Estos parámetros son: Dirección IP: El rastreador infiere la ubicación geográfica del nodo de extremo usando su dirección IP y la máscara. ID de sitio: Esto proporciona información de ubicación mejor. Un rastreador puede usar el ID de sitio para determinar si dos nodos de extremo pueden usar datos de intercambio usando el protocolo P2P. Dentro del mismo centro de datos, un proveedor de servicio CDN puede etiquetar grupos de máquinas en diferentes pisos como que tienen diferentes ID de sitio (puede variar la conectividad de red entre pisos). PID: El rastreador puede determinar el PID del nodo de extremo usando la base de datos pidlocdb para inferir el ID de partición y luego usar el ID de sitio para inferir si dos máquinas están realmente coubicadas. El rastreador también tiene acceso a la base de datos de GEOIP (denominada (geodb) que puede usarse para identificar la ubicación de una dirección IP (nodos de extremo). La dirección IP, junto con la geobd, ayuda al rastreador a resolver un nodo de extremo cuando sea necesario. Aunque una base de datos GeoIP de grano fino puede resolver una dirección IP a nivel de bloque, usando el ID de sitio se puede resolver la ubicación de un grupo de máquinas dentro de un centro de datos. Esto hace que el rastreador tenga mejor resolución cuando identifica máquinas geolocalizadas. Debe observarse que se puede usar la base de datos de PID en lugar de una base de datos de GeoIP sin comprometer la precisión de la geolocalización. Identificación de nodos de extremo ocupados: Además, el rastreador mantiene la siguiente información acerca de cada nodo de extremo (cada nodo de extremo notifica esta información cada minuto o cada pocos minutos): cpuload: Ésta es la carga de CPU en el nodo de extremo. diskAvailable: Éste es el espacio de disco restante en el nodo de extremo. activeConnectionCount: Éste es el número total de conexiones activas actualmente en el nodo de extremo. outboundBytespers: Ésta es la tasa de transmisión a la que los usuarios finales descargan contenido del nodo de extremo (en bytes/segundo). inboundBytespers: Ésta es la tasa de transmisión a la que el nodo de extremo consume contenido (en bytes/segundo). Estos parámetros permiten que el rastreador infiera qué nodos de extremo pueden considerarse ocupados. Puesto que los nodos de extremo notifican sus parámetros cada 30 segundos (o pocos minutos), el rastreador siempre tiene la última información para cada nodo de extremo. Los proveedores de servicio CDN individuales pueden usar una combinación de los parámetros anteriores para decidir qué constituye un nodo de extremo ocupado. El rastreador, cuando responde a las peticiones del usuario final, no usa nodos de extremo identificados como ocupados.
Resolución de DNS: Como parte de la petición de resolución de DNS, el rastreador debe encontrar nodos de extremo que estén geográficamente próximos a los usuarios finales solicitantes. Al describir la resolución de DNS, se realizan las siguientes suposiciones: El usuario final ha realizado una petición de video01.flv que genera una petición a la CDN del formato bucket_id.tcdn.net/bucket_id/video01.flv. Usando un bucket_id=87, la petición es de la forma b87.tcdn.net/87/video01.flv.
(1)
El sistema de resolución de DNS de ISP identificó el servidor DNS TLD para el dominio .net para resolver tcdn.net. Posteriormente, el servidor DNS autorizado para tcdn.net infiere que la petición sea para la región 34.tcdn.net.
(2)
Ya se ha producido la primera etapa de resolución de DNS dentro de la infraestructura CDN: Un nodo de extremo ha devuelto una función hash consistente en el URL y ha devuelto un HTTP 302, ubicación movida al usuario final con el URL b87p34habf8.34.tcdn.net/87/video01.flv. En este caso, b87 es el id de contenedor 87, p34 es para la región 34 y habf8 es la representación hexadecimal, abf8 = substring(MD5(URL)).
(3)
En este ejemplo (situado en España), el usuario final tiene su base en Gerona (una ciudad aproximadamente a 100 km de Barcelona). El proveedor de servicio CDN tiene el centro de datos local en Barcelona, un centro de datos nacional en Madrid y un centro de datos global en Londres. Por tanto, una petición de contenido devolverá un conjunto de direcciones IP que contiene nodos de extremo en {centro de datos más próximo, centro de datos más próximo siguiente, centro de datos nacional, centro de datos global}. El número de direcciones IP en cada conjunto de centro de datos más próximo, siguiente más próximo, nacional y global, puede variar. A continuación se describe una resolución de DNS por etapas detallada con referencia a la figura 3:
(0)
El usuario final realiza una petición de b87p34habf8.34.tcdn.net/87/video01.flv.
(1)
El servidor DNS de ISP reenvía esta petición al servidor DNS autorizado para la región 34 (supongamos, es.tcdn.net) en el dominio tcdn.net.
(2)
El servidor DNS autorizado para la región 34, 34.tcdn.net reenvía la petición al rastreador para la región 34.
(3)
El rastreador para la región 34 realiza una función hash consistente en abf8 para obtener {BCN4, BCN2, MAD2 y GLB2} como nodos de extremo que pueden proporcionar mejor la petición.
a.
Debe observarse que la lista está ordenada por el nodo de extremo más próximo y menos cargado. Los nodos de extremo más próximos pueden identificarse tal como se definió anteriormente. También se eligen los nodos de extremo en los centros de datos nacional y global además del centro de datos más próximo como reserva. En este caso, BCN2 y BCN4 se eligen del centro de datos de Barcelona. De manera similar, se eligen MAD2 y GLB2.
b.
El proceso que ayuda a identificar los nodos de extremo menos cargados se describió anteriormente. El rastreador determina entonces que el nodo de extremo BCN4 está menos cargado que BCN2.
c.
Se crea una lista ordenada usando los dos puntos anteriores. Por tanto, el rastreador crea la lista ordenada {BCN4, BCN2, MAD2 y GLB2}.
(4)
– (6) La lista de nodos de extremo que puede proporcionar contenido se devuelve al usuario final.
(7)
El usuario final intenta conectarse directamente al nodo de extremo BCN4. Si el usuario final no se conecta al nodo de extremo BCN4, el usuario final intenta conectarse a BCN2, MAD2 y GLB2, en ese orden. Gestor de nodos de entorno: El rastreador tiene un módulo gestor de nodos de entorno. Cuando el rastreador envía una lista de nodos de entorno a un nodo de extremo solicitante, ordena los nodos de extremo (nodos de entorno) de la siguiente forma: En primer lugar, el rastreador ordena los nodos de extremo por direcciones IP (o prefijos de IP). Por tanto, los nodos de extremo devueltos forman parte del mismo centro de datos. El rastreador también puede usar la base de datos de PID y/o GeoIP para inferir esta información. Para el conjunto de direcciones IP que pertenecen al mismo prefijo, pero con ID de sitio diferentes, ordena a los nodos de entorno por ID de sitio. El conjunto de direcciones IP recibidas por un nodo de extremo se usa entonces para establecer comunicación de P2P cuando se comparte contenido entre nodos de extremo en el mismo centro de datos. Políticas de implementación:
El proveedor de servicio puede necesitar implementar varias políticas en la CDN. El rastreador en la CDN es el mejor situado tanto para implementar como para vigilar la implementación de estas políticas. Las políticas que pueden implementarse son:
(1)
Reservar algunos contenedores de cliente para que residan en algunos nodos de extremo. Cuando se reciben peticiones de contenido respecto a contenido en tales contenedores, el rastreador dirige la petición sólo a nodos de extremo que están reservados para proporcionar tal contenido. El rastreador ordena los nodos de extremo y los devuelve al usuario final solicitante.
(2)
Reservar algunos nodos de extremo para ciertos clientes. Esto permite que el proveedor de servicio CDN ofrezca servicio premium a ciertos clientes reservando algunos nodos de extremo para su uso exclusivamente. La implementación de esta política es similar a (1) anterior.
(3)
Reservar un nodo de extremo para que sólo proporcione cierto tipo de contenido. El rastreador usa una llamada a API para cambiar la capacidad de un nodo de extremo. Esto permite reservar un nodo de extremo (supongamos) para que proporcione sólo contenido en tiempo real. Por tanto, sólo pueden correlacionarse contenedores de tiempo real con este nodo de extremo. Como consecuencia, cuando se correlaciona contenido con nodos de extremo, el anillo de función hash consistente comprueba si un nodo de extremo está configurado para proporcionar tal contenido. Por tanto, antes de correlacionar un contenedor de tiempo real con un nodo de extremo, el rastreador se asegura de que el nodo de extremo está configurado para proporcionar contenido en tiempo real. Asimismo, cuando se responde a la petición de un usuario final de contenido en tiempo real, el rastreador comprueba en primer lugar si el nodo de extremo puede proporcionar contenido en tiempo real antes de construir una lista de nodos de extremo que puedan proporcionar tal contenido.
(4)
Permitir que un proveedor de servicio CDN fije políticas sobre lo que constituye un nodo de extremo ocupado.
El proveedor de servicio CDN puede configurar los umbrales en los parámetros de nodo de extremo (cpuload, diskAvailable, activeConnectionCount, outboundBytespers y inboundBytespers), o bien individualmente o bien en cualquier combinación con conjunciones o disyunciones. Esta información de configuración se pasa al rastreador mediante una llamada a API. El rastreador garantiza entonces que cualquier nodo de extremo que cumpla los criterios se marque como “ocupado”. La función hash consistente no tiene en cuenta tal/tales nodo(s) de extremo cuando se proporcionan peticiones realizadas por un usuario final. Tal como se observó anteriormente, el rastreador es el lugar más apropiado para implementar y vigilar las políticas del servicio CDN. Ventajas de la invención: El rastreador es la entidad que proporciona sincronización y coordinación entre las entidades en la CDN del proveedor de servicio. Cualquier cambio en el contenido en el contenedor del cliente queda reflejado en el/los nodo(s) de extremo en muy poco tiempo. El rastreador actúa como un proxy para el contenedor de cliente CDN. El rastreador actúa como un equilibrador de carga en la CDN identificando el nodo de extremo menos cargado y más próximo que puede estar mejor situado para proporcionar contenido a un usuario final solicitante. El rastreador ayuda a la infraestructura de DNS identificando tanto los nodos de extremo geográficamente más próximos (en el centro de datos más cercano) para proporcionar contenido como los nodos de extremo de reserva en caso de que el nodo de extremo más próximo no pueda proporcionar contenido. La lista de nodos de extremo devuelta por el rastreador comprende el nodo de extremo más próximo y menos cargado, los nodos de extremo en un centro de datos de reserva en caso de que el centro de datos más próximo no pueda proporcionar contenido (por cualquier motivo) y el centro de datos global que es el de reserva en el caso de que las máquinas en los dos casos anteriores no puedan proporcionar contenido. El rastreador también ayuda a que un nodo de extremo ubique otros nodos de extremo en su entorno (mismo centro de datos). Esto permite que los nodos de extremo compartan contenido en una forma de P2P sin necesidad de obtener siempre contenido del servidor original. El rastreador también define una API para controlar el funcionamiento de los nodos de extremo a través de un rastreador. Esto permite que el proveedor de servicio CDN defina e implemente políticas en la infraestructura CDN: a) Habilitando y deshabilitando nodos de extremo. b) Reservando contenedores de contenido para que residan en nodos de extremo específicos (y no en otros). c) Reservando nodos de extremo para proporcionar un tipo de contenido (por ejemplo, proporcionar sólo contenido en tiempo real desde un nodo de extremo).
Un experto en la técnica puede introducir cambios y modificaciones en las realizaciones descritas sin apartarse del alcance de la invención tal como se define en las reivindicaciones adjuntas.
SIGLAS Y ABREVIATURAS
ADSL
ASYMMETRIC DIGITAL SUBSCRIBER LINE; LÍNEA DE ABONADO
DIGITAL ASIMÉTRICA
CDN
CONTENT DISTRIBUTION NETWORK; RED DE DISTRIBUCIÓN DE
CONTENIDO
DNS
DOMAIN NAME SERVICE; SERVICIO DE NOMBRES DE DOMINIO
PoP
POINT OF PRESENCE; PUNTO DE PRESENCIA
OB
OPERATING BUSINESS; UNIDAD DE NEGOCIO
TLD
TOP LEVEL DOMAIN; DOMINIO DE NIVEL SUPERIOR
FTP
FILE TRANSFER PROTOCOL; PROTOCOLO DE TRANSFERENCIA DE
ARCHIVOS
HTTP
HYPERTEXT TRANSFER PROTOCOL; PROTOCOLO DE
TRANSFERENCIA DE HIPERTEXTO
MD5
MESSAGEDIGEST ALGORITHM 5; ALGORITMO DE RESUMEN DEL
MENSAJE 5
URL
UNIFORM RESOURCE LOCATOR; LOCALIZADOR UNIFORME DE
RECURSOS
ISP
INTERNET SERVICE PROVIDER; PROVEEDOR DE SERVICIOS DE
INTERNET
TTL
TIME TO LIVE; TIEMPO DE VIDA
DSLAM
DIGITAL SUBSCRIBER LINE ACCESS MULTIPLEXER;
MULTIPLEXADOR DE ACCESO DE LÍNEA DE ABONADO DIGITAL
DHT
DISTRIBUTED HASH TABLE; TABLA HASH DISTRIBUIDA
PID
PARTITION IDENTIFIER; IDENTIFICADOR DE PARTICIÓN
RPC
REMOTE PROCEDURE CALL; LLAMADA A PROCEDIMIENTO REMOTO
Bibliografía
[1] BitTorrent Tracker. En http://en.wikipedia.org/wiki/BitTorrent_tracker
[2] BitTorrent Protocol. En http://en.wikipedia.org/wiki/BitTorrent_(protocol)
5  [3] P4P: A Portal for Proactive Providers Participating in P2P. En http://cswww.cs.yale.edu/homes/yong/p4p.html
[4] Akamai. http://www.akamai.com
[5] Limelight Networks, http://www.limelightnetworks.com/
[6] Amazon Cloudfront, http://aws.amazon.com/cloudfront/ 10 [7] Edgecast, http://www.edgecast.com/
[8] M. J. Freedman, E. Freudenthal, y D. Mazières, “Democratizing Content Publication with Coral.” In Proc. NSDI, San Francisco, CA, marzo de 2004.
[9] Consistent Hashing. en http://en.wikipedia.org/wiki/Consistent_hashing
[10] C. Gkantsidis, J. Miller, M. Costa, P. Rodriguez, S. Ranson, “Connection 15 management in peertopeer content distribution clouds.” United States
Microsoft Corporation (Redmond, WA, US), 849196 http://www.freepatentsonline.com/7849196.html
[11] J. Czechowski III, W.D. Smith II, X. Wang, C.D. Carothers, “Accelerating PeertoPeer Content Distribution.” United States GENERAL ELECTRIC
20  COMPANY (SCHENECTADY, NY, US), 0182815 http://www.freepatentsonline.com/y2009/0182815.html

Claims (13)

  1. REIVINDICACIONES
    1. Método para distribución de contenido a través de una red de distribución de contenido, caracterizado porque comprende usar un rastreador para coordinar las entidades que forman la infraestructura de dicha red de distribución de contenido, o CDN, comprendiendo dicho rastreador una capa CDN que comprende interfaces para al menos algunas de dichas entidades CDN, un módulo de aplicación de función hash consistente, un módulo de gestión de nodos de entorno, un módulo equilibrador de carga y un módulo de resolución de DNS, y una capa de red para proporcionar servicios de red y comunicación a dicha capa CDN, comprendiendo además dicho rastreador realizar las siguientes etapas:
    – identificar otros nodos de extremo en su proximidad, colaborando con un nodo extremo o servidor de contenido de dicha CDN, que pueden ayudar a intercambiar contenido cuando sea necesario; devolver, al recibir una petición de contenido de un usuario final, una lista con dichos nodos de extremo que están idealmente en proximidad física próxima a dicho usuario final solicitante; correlacionar contenedores de contenido con dichos nodos de extremo usando aplicación de función hash consistente que almacenan y sirven contenido solicitado; hacer que la CDN responda a condiciones de red cambiantes y encuentre los nodos de extremo más adecuados para proporcionar dicho contenido solicitado, al menos:
    identificando los nodos de extremo menos cargados que están mejor situados para proporcionar contenido a usuarios finales solicitantes; o
    identificando la trayectoria de menor coste entre un usuario final solicitante y un nodo de extremo que da servicio; y colaborar en la resolución de DNS a través de un servicio correspondiente proporcionado por dicha capa de red. Método según cualquiera de las reivindicaciones anteriores, en el que la capa CDN de dicho rastreador comprende un módulo de aplicación de función hash consistente, un módulo de gestión de nodos de entorno, un módulo equilibrador de carga y un módulo de resolución de DNS.
  2. 2.
    Método según cualquiera de las reivindicaciones anteriores, en el que dichas entidades de infraestructura CDN son al menos una de: al menos un servidor
    original, al menos un rastreador, nodos de extremo, al menos un servidor de topología, al menos un servidor DNS y un punto de entrada o punto de publicación.
  3. 3.
    Método según cualquiera de las reivindicaciones anteriores, que comprende usar dicho rastreador para colaborar a equilibrar la carga a través de todos los nodos de extremo en la unidad de negocio, u OB, que despliega la CDN.
  4. 4.
    Método según cualquiera de las reivindicaciones anteriores, en el que dicha capa de red de rastreador proporciona servicios de transporte y comunicación a la capa CDN y dichos servicios de transporte se realizan a través de protocolos de TCP y HTTP.
  5. 5.
    Método según cualquiera de las reivindicaciones anteriores, en el que la capa CDN de dicho rastreador comprende interfaces para al menos algunas de las siguientes entidades CDN: nodos de extremo, gestor de contenido, servidor de topología y servidor DNS TLD.
  6. 6.
    Método según la reivindicación 5, en el que la comunicación del rastreador con cada una de las entidades CDN se produce a través de RPC.
  7. 7.
    Método según la reivindicación 5 ó 6, que comprende usar dicha interfaz de nodo de extremo de rastreador para mantener información sobre contenido en cada nodo de extremo y recopilar estadísticas periódicamente de cada nodo de extremo, para inferir al menos la carga en un nodo de extremo.
  8. 8.
    Método según la reivindicación 5 ó 6, que comprende usar dicha interfaz de gestor de contenido de rastreador para sincronizar contenedores con el gestor de contenido periódicamente, con el fin de detectar cualquier cambio en metadatos asociados a dichos contenedores y propagar dichos cambios detectados a los nodos de extremo con los que se sincroniza a través de dicha interfaz de nodo de extremo de rastreador.
  9. 9.
    Método según la reivindicación 5 ó 6, que comprende usar dicha interfaz de servidor DNS de rastreador para adquirir información sobre regiones de un servidor DNS TLD.
  10. 10.
    Método según la reivindicación 5 ó 6, que comprende usar dicho servidor de topología de rastreador para buscar información sobre particiones, o subredes, base de datos de ubicación de PID y la matriz de costes entre particiones desde el servidor de topología.
  11. 11.
    Método según cualquiera de las reivindicaciones anteriores, que comprende definir una API en dicho rastreador para controlar el funcionamiento de los nodos de extremo a través del rastreador, permitiendo dicha API al menos habilitar/deshabilitar nodos de extremo.
  12. 12.
    Método según cualquiera de las reivindicaciones anteriores, que comprende definir una API que reserva contenedores de contenido para residir en nodos de extremo específicos y reservar nodos de extremo para proporcionar ciertos tipos de contenido.
  13. 13.
    Rastreador para distribución de contenido a través de una red de distribución de contenido, caracterizado porque comprende una capa CDN y una capa de red tal para proporcionar servicios de red y comunicación a la capa CDN, y que además comprende:
    – medios para identificar otros nodos de extremo en su proximidad, colaborando con un nodo extremo o servidor de contenido de dicha CDN, que puede ayudar a intercambiar contenido cuando sea necesario; medios para devolver, al recibir una petición de contenido de un usuario final, una lista con dichos nodos de extremo que están idealmente en proximidad física próxima a dicho usuario final solicitante; medios para correlacionar contenedores de contenido con dichos nodos de extremo que almacenan y sirven contenido solicitado; medios para hacer que la CDN responda a condiciones de red cambiantes y encuentre los nodos de extremo más adecuados para proporcionar dicho contenido solicitado; y medios para colaborar en la resolución de DNS a través de un servicio correspondiente proporcionado por dicha capa de red.
ES201130757A 2011-05-12 2011-05-12 Método y rastreador para distribución de contenido a través de una red de distribución de contenido Withdrawn - After Issue ES2425627B1 (es)

Priority Applications (7)

Application Number Priority Date Filing Date Title
ES201130757A ES2425627B1 (es) 2011-05-12 2011-05-12 Método y rastreador para distribución de contenido a través de una red de distribución de contenido
US14/116,863 US20140215059A1 (en) 2011-05-12 2012-05-07 Method and a tracker for content delivery through a content delivery network
EP12726364.8A EP2708010A1 (en) 2011-05-12 2012-05-07 A method and a tracker for content delivery through a content delivery network
PCT/EP2012/058362 WO2012152751A1 (en) 2011-05-12 2012-05-07 A method and a tracker for content delivery through a content delivery network
BR112013028994A BR112013028994A2 (pt) 2011-05-12 2012-05-07 método para liberação de conteúdo por meio de uma rede de liberação de conteúdo e rastreador para liberação de conteúdo por meio de uma rede de liberação de conteúdo
ARP120101648A AR086338A1 (es) 2011-05-12 2012-05-10 Metodo y rastreador para distribucion de contenido a traves de una red de distribucion de contenido
CL2013003220A CL2013003220A1 (es) 2011-05-12 2013-11-11 Metodo y rastreador para distribucion de contenido a traves de una red de distribucion de contenido, que comprende usar el rastreador para coordinar las entidades que forman la infraestructura de dicha red de distribucion de contenido, o cdn, comprendiendo dicho rastreador una capa cdn que comprende interfaces para al menos algunas de dichas entidades cdn y una capa de red para proporcionar servicios de red y comunicacion a dicha capa.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES201130757A ES2425627B1 (es) 2011-05-12 2011-05-12 Método y rastreador para distribución de contenido a través de una red de distribución de contenido

Publications (3)

Publication Number Publication Date
ES2425627A2 ES2425627A2 (es) 2013-10-16
ES2425627R1 ES2425627R1 (es) 2013-11-06
ES2425627B1 true ES2425627B1 (es) 2014-05-05

Family

ID=46229433

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201130757A Withdrawn - After Issue ES2425627B1 (es) 2011-05-12 2011-05-12 Método y rastreador para distribución de contenido a través de una red de distribución de contenido

Country Status (7)

Country Link
US (1) US20140215059A1 (es)
EP (1) EP2708010A1 (es)
AR (1) AR086338A1 (es)
BR (1) BR112013028994A2 (es)
CL (1) CL2013003220A1 (es)
ES (1) ES2425627B1 (es)
WO (1) WO2012152751A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992260B1 (en) 2012-08-31 2018-06-05 Fastly Inc. Configuration change processing for content request handling in content delivery node
ES2552360T3 (es) 2012-12-19 2015-11-27 Telefónica, S.A. Método de comprobación de funcionamiento distribuido para almacenamiento en memoria caché web en una red de telecomunicaciones
US10177967B2 (en) * 2013-03-15 2019-01-08 Jesse Lakes Redirection service resource locator mechanism
CN113190495A (zh) * 2014-12-08 2021-07-30 安博科技有限公司 从远程网络区域进行内容检索的***及方法
CN113225369A (zh) 2015-01-06 2021-08-06 安博科技有限公司 用于中立应用程序编程接口的***和方法
EP3251301A4 (en) 2015-01-28 2018-10-10 Umbra Technologies Ltd. System and method for a global virtual network
CN107637037B (zh) 2015-04-07 2021-09-28 安博科技有限公司 用于全局虚拟网络中的虚拟接口和高级智能路由的***和方法
CN107925594B (zh) 2015-06-11 2020-12-29 安博科技有限公司 用于网络挂毯多协议集成的***和方法
EP4236264A3 (en) 2015-12-11 2023-11-08 Umbra Technologies Ltd. System and method for information slingshot over a network tapestry and granularity of a tick
EP3449353B1 (en) 2016-04-26 2021-11-24 Umbra Technologies Ltd. Data beacon pulsers powered by information slingshot
US10924449B2 (en) 2017-07-06 2021-02-16 Facebook, Inc. Internet protocol (IP) address assignment
CN108234247B (zh) 2018-01-25 2020-06-23 网宿科技股份有限公司 一种检测网络质量的方法和***
US10230683B1 (en) 2018-02-09 2019-03-12 Capital One Services, Llc Routing for large server deployments
CN108650317B (zh) * 2018-05-10 2021-02-05 深圳市汇星数字技术有限公司 内容分发网络的负载调节方法、装置及设备
CN109040787B (zh) * 2018-09-05 2020-10-09 湖南华诺科技有限公司 一种分布式自治机顶盒内容分发网络的方法
CN111277630B (zh) * 2020-01-13 2022-09-09 腾讯科技(深圳)有限公司 一种路由控制方法、装置、电子设备和存储介质
US11831707B2 (en) * 2022-03-08 2023-11-28 Charter Communications Operating, Llc Redirect processing for content delivery networks
CN115002129B (zh) * 2022-05-09 2023-05-12 珠海迈科智能科技股份有限公司 一种增加可分享用户基数的p2p流媒体控制***及其方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430618B1 (en) * 1998-03-13 2002-08-06 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
US7143170B2 (en) * 2003-04-30 2006-11-28 Akamai Technologies, Inc. Automatic migration of data via a distributed computer network
WO2008017502A1 (en) * 2006-08-11 2008-02-14 Velocix Limited Content distribution network
GB2440762B (en) * 2006-08-11 2011-11-02 Cachelogic Ltd Content distribution network
CN101282281B (zh) * 2007-04-03 2011-03-30 华为技术有限公司 一种媒体分发***、装置及流媒体播放方法
WO2010099514A2 (en) * 2009-02-27 2010-09-02 Coach Wei System and method for computer cloud management
US20100223364A1 (en) * 2009-02-27 2010-09-02 Yottaa Inc System and method for network traffic management and load balancing
US20110078230A1 (en) * 2009-09-25 2011-03-31 Emilio Sepulveda Method and system for providing a cdn with granular quality of service
US8433771B1 (en) * 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US8676753B2 (en) * 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US20110246518A1 (en) * 2010-04-01 2011-10-06 Verizon Patent And Licensing Inc. Method and system of distributed caching
US8606847B2 (en) * 2010-05-28 2013-12-10 Juniper Networks, Inc. Application-layer traffic optimization service map updates
US8700801B2 (en) * 2010-12-01 2014-04-15 Juniper Networks, Inc. Dynamically generating application-layer traffic optimization protocol maps

Also Published As

Publication number Publication date
US20140215059A1 (en) 2014-07-31
ES2425627R1 (es) 2013-11-06
ES2425627A2 (es) 2013-10-16
AR086338A1 (es) 2013-12-04
CL2013003220A1 (es) 2014-08-01
EP2708010A1 (en) 2014-03-19
BR112013028994A2 (pt) 2017-02-07
WO2012152751A1 (en) 2012-11-15

Similar Documents

Publication Publication Date Title
ES2425627B1 (es) Método y rastreador para distribución de contenido a través de una red de distribución de contenido
ES2550674T3 (es) Método para la resolución de DNS de peticiones de contenido en un servicio CDN
Freedman et al. Democratizing content publication with coral.
Clarke et al. Freenet: A distributed anonymous information storage and retrieval system
EP2813060B1 (en) A method for collaborative caching for content-oriented networks
US9787766B2 (en) Methods and apparatus for traffic management in peer-to-peer networks
Pan et al. An overview of DNS-based server selections in content distribution networks
ES2429222A1 (es) Método y nodo de extremo para distribuir flujo continuo de contenido en tiempo real en una red de distribución de contenido
ES2410654B1 (es) Sistema y método para gestionar la infraestructura de un servicio de red de distribución de contenido en una red isp
ES2401160T3 (es) Procedimiento y sistema para controlar una comunicación de datos dentro de una red
ES2770652T3 (es) Sistema y método para interconexión de redes de distribución de contenido
Zhang et al. Anycast in locality-aware peer-to-peer overlay networks
Menth et al. Mapping systems for Loc/ID split Internet routing
Moon et al. A point-based inventive system to prevent free-riding on p2p network environments
Tiendrebeogo et al. Virtual connections in p2p overlays with dht-based name to address resolution
Cikryt Beyond Music File Sharing: A Technical Introduction to P2P Networks
Risson et al. A dependable global location service using rendezvous on hierarchic distributed hash tables
Warneke et al. Load balancing in p2p networks: Using statistics to fight data and execution skew
Ali et al. Peer To Peer Confidentiality in Social Applications
Hartmann et al. Coordinate-based routing: Refining nodeids in structured peer-to-peer systems
Rudyk et al. Methods of traffic regulation and user reputation handling in the bittorrent peer-to-peer networks
Kanzaki et al. Peer-to-peer content delivery system with bounded traffic between autonomous systems
Cho et al. LOCON: A lookup-based content-oriented networking framework
Koulouris A framework for the dynamic management of Peer-to-Peer overlays
Bestak et al. NETWORKING 2012: 11th International IFIP TC 6 Networking Conference, Prague, Czech Republic, May 21-25, 2012, Proceedings, Part I

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2425627

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20140505

FA2A Application withdrawn

Effective date: 20140925