ES2697874T3 - Seguidor en sistemas P2P para optimizar funcionalidades de DVD - Google Patents

Seguidor en sistemas P2P para optimizar funcionalidades de DVD Download PDF

Info

Publication number
ES2697874T3
ES2697874T3 ES09780985T ES09780985T ES2697874T3 ES 2697874 T3 ES2697874 T3 ES 2697874T3 ES 09780985 T ES09780985 T ES 09780985T ES 09780985 T ES09780985 T ES 09780985T ES 2697874 T3 ES2697874 T3 ES 2697874T3
Authority
ES
Spain
Prior art keywords
equal
equals
neighbors
hash key
follower
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
ES09780985T
Other languages
English (en)
Inventor
Xiaoyaun Yang
Minas Gjoka
Pablo Rodriguez
Parminder Chhabra
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
Application filed by Telefonica SA filed Critical Telefonica SA
Application granted granted Critical
Publication of ES2697874T3 publication Critical patent/ES2697874T3/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
    • 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

Abstract

Un procedimiento para agrupar iguales en un sistema P2P en el que pueden realizarse operaciones de salto de DVD, comprendiendo el procedimiento las etapas de: a. determinar para cada igual y operación de vídeo un tiempo T y un punto de salto Pj, en el que el punto de salto Pj es el punto de reproducción al que dicho igual salta en el tiempo T; b. generar una clave hash HKj para cada igual, teniendo la clave hash un valor HKj= (Pj-T)/C, donde C>=1 es la granularidad del sistema c. agrupar los iguales con la misma clave hash, d. seleccionar un grupo de vecinos de un igual solicitante del grupo de iguales con la misma clave hash que el igual solicitante, en el que tras determinar que el número de iguales en la vecindad del igual solicitante es menor que n, siendo n el número mínimo de otros iguales al que un igual se puede conectar, seleccionándose los iguales restantes del grupo de vecinos desde una lista de iguales con una clave hash mayor que y cerca de la clave hash del igual solicitante o de una lista de iguales que ya han reproducido el segmento de reproducción j del igual solicitante.

Description

DESCRIPCIÓN
Seguidor en sistemas P2P para optimizar funcionalidades de DVD
Campo de la invención
La presente invención se refiere a sistemas de igual a igual (P2P), en particular, al diseño de un seguidor para soportar características de DVD.
Estado de la técnica
Un seguidor (tracker) es un componente de red que proporciona a iguales (peers) información para construir conjuntos de vecinos de alta calidad que hace posible compartir datos sin tener que basarse en el servidor excepto sólo como último recurso. Un seguidor también proporciona a cada igual un mecanismo para iniciar el suministro de datos a un igual solicitante.
La mayoría de las aplicaciones de compartición de archivos siguen el modelo descargar y luego consumir. En este caso, el seguidor está diseñado para hacer una selección aleatoria de iguales (como un conjunto de vecinos de un igual solicitante). Esta selección aleatoria funciona bien porque los iguales están interesados en todo el archivo. Así, el seguidor no se ocupa del suministro en secuencia de segmentos de archivos. Dos de los algoritmos más comunes usados en tales seguidores son la selección aleatoria de vecinos y la selección óptima de vecinos.
La selección aleatoria de vecinos (RNS) es el más simple de todos los algoritmos de selección de vecinos. En la RNS, el seguidor selecciona n iguales aleatoriamente de una lista de iguales activos y los devuelve al igual solicitante. Éste es el algoritmo convencional usado por la mayoría de los sistemas de seguidores P2P hoy en día. Éste es el más ajustable a escala de los algoritmos de seguidores ya que no requiere ninguna estructura de datos sofisticada para mantener la lista de iguales candidatos.
En la selección óptima de vecinos (ONS) se asume que el seguidor tiene un conocimiento global de cada segmento en cada igual y realiza una búsqueda exhaustiva por todos los iguales para devolver siempre a los iguales los segmentos más relevantes. Esto es muy bueno para la formación de conjuntos de vecinos de iguales. Sin embargo, es prohibitivamente caro en cuanto a la carga de procesamiento del seguidor.
Las demandas puestas sobre un seguidor de vídeo bajo demanda (VoD) P2P son completamente diferentes. La demanda de un usuario para el siguiente segmento está guiada por su punto de reproducción actual. Por tanto, es necesaria una elección cuidadosa del igual de un vecino para garantizar un buen rendimiento en todo el sistema. Además, la respuesta de latencia de cada petición también pasa a ser crítica porque afecta directamente a la experiencia del usuario de usar operaciones de salto, lo que requeriría una rápida selección de un conjunto de vecinos para garantizar una rápida recuperación para la reproducción.
Los sistemas P2P del estado de la técnica actual ignoran la funcionalidad de DVD o saltos (avance rápido, salto hacia atrás, pausa etc.). El diseño es rígido dado que las operaciones de DVD reducen las oportunidades de compartición de archivos P2P. En un sistema ideal, el servidor debería usarse sólo como último recurso para extraer datos. Así, planificar datos en el tiempo y encontrar el conjunto correcto de iguales para compartir datos son cuestiones no triviales que deben tratarse como una primera etapa para el diseño de iguales que soportan una funcionalidad de DVD y proporcionan una buena experiencia al usuario.
El documento US2009/172179 A1 divulga un sistema de transmisión en red que comprende una red, un servidor de transmisión y una serie ordenada de grupos de intercambio cooperativo desde el primer hasta el n-ésimo. El servidor de transmisión transmite uno o más clips de audio/video al nodo líder de los primeros grupos de intercambio cooperativo, que transmite el clip de audio/video recibido actualmente a los terminales de usuario dentro del mismo grupo de intercambio cooperativo, y pasa el audio/video recibido al nodo líder del siguiente grupo de intercambio cooperativo después de un intervalo de tiempo.
El documento US2008/256255 A1 divulga un proceso para transmitir datos de medios en una red P2P (de igual a igual) que incluye la etapa de enviar una solicitud a través de la red P2P para reproducir un segmento de tiempo de un archivo de medios. Un ordenador local está conectada a través de la red P2P a un ordenador de transmisión que tiene el segmento de tiempo deseado. El segmento de tiempo se transmite desde el ordenador de transmisión a la computadora local comenzando con un byte de datos inicial. El segmento de tiempo se almacena en el ordenador local para su reproducción a través del reproductor multimedia correspondiente.
Descripción de la invención
La invención se define por un procedimiento según la reivindicación 1 y un sistema según la reivindicación 4. Otras realizaciones se definen mediante las reivindicaciones dependientes. El objeto de la presente invención es proporcionar un diseño óptimo de un seguidor para soportar características de DVD (capacidad para activar la pausa, saltar hacia delante y hacia atrás en el tiempo) en los iguales en un sistema de vídeo bajo demanda (VoD) mientras que se proporciona a los usuarios una buena experiencia de visionado.
El procedimiento y dispositivo del diseño de la invención se basan en los dos principios de guiado siguientes:
(1) Los usuarios que están en (o cerca de) el mismo punto de reproducción pueden beneficiarse mutuamente mediante colaboración.
(2) Entre saltos, los usuarios reproducen el vídeo secuencialmente.
El seguidor usa (1) para agrupar usuarios que están en el mismo punto de reproducción y (2) para estimar la posición de reproducción actual de usuarios en el sistema. Juntos, (1) y (2) permiten a un seguidor encontrar y notificar iguales adecuados que pueden compartir contenido con iguales solicitantes de una manera ajustable a escala.
El diseño del seguidor es un proceso de dos etapas. En la primera etapa, se propone una técnica eficaz para agrupar iguales por el punto de reproducción. En la segunda etapa, se diseñan dos algoritmos inteligentes, cualquiera de los cuales puede implementarse en un seguidor; selección inteligente del conjunto de vecinos (SNS) o selección basada en el historial del conjunto de vecinos (HNS). Ambos algoritmos ayudan a un igual solicitante a formar un conjunto de vecinos de iguales con los que puede intercambiar datos. Si es necesario, tanto la selección inteligente del conjunto de vecinos como la selección basada en el historial pueden usarse para seleccionar el conjunto de vecinos, usándose el primero en primer lugar para producir un subconjunto de iguales.
Se usan las siguientes abreviaturas:
P2P: Sistema de igual a igual. En este caso, cada nodo actúa tanto como cliente (petición de datos) como como servidor (poniendo datos a disposición para otros iguales).
K: Número de fragmentos en un archivo de medios.
W: Tamaño de ventana
B: Tamaño de memoria intermedia
Pj Punto de reproducción actual del igual j (tal como se notifica al seguidor).
Li: Lista de iguales que reproducen el fragmento i (del total de K fragmentos).
Nb: Número de vecinos del igual B.
Hi: Lista de iguales que han reproducido el fragmento i en el pasado. A medida que los iguales reproducen un medio, conociendo la velocidad de reproducción y el tamaño del segmento de un igual, periódicamente, los segmentos reproducidos por un igual se actualizan en la tabla de historial mantenida por el seguidor.
La invención proporciona por tanto un procedimiento para agrupar iguales según la reivindicación 1. El procedimiento comprende las etapas de (a) determinar para el igual j, en el tiempo de vídeo T, el punto de salto Pj , (b) generar una clave hash HKj . La clave hash tiene un valor HKj = (Pj-T)/C, donde C >= 1 es la granularidad del sistema y finalmente (c) agrupar iguales con la misma clave hash.
El valor de clave hash para un igual se actualiza cuando se realiza la siguiente operación de salto. En una segunda etapa, un conjunto de vecinos de un igual solicitante se selecciona del grupo de iguales con la misma clave hash que el igual solicitante. Si el número de iguales en el conjunto de vecinos (iguales que tienen la misma clave hash) es menor que n, en una etapa siguiente los iguales restantes se seleccionan de los vecinos con una clave hash que es mayor que, pero está cerca de la clave hash del igual solicitante, es decir de vecinos que ya han reproducido el segmento de reproducción k del igual solicitante. Si el número de iguales en el conjunto de vecinos es todavía menor que n, en una etapa siguiente los iguales restantes se seleccionan aleatoriamente.
Breve descripción de los dibujos
Para completar la descripción y con el fin de proporcionar una mejor comprensión de la invención, se proporciona un conjunto de dibujos. Dichos dibujos forman una parte integrante de la descripción e ilustran una realización preferida de la invención, que no debe interpretarse como restrictiva del alcance de la invención, sino sólo como un ejemplo de cómo puede realizarse la invención. Los dibujos comprenden las siguientes figuras:
La figura 1 describe un ejemplo que demuestra la agrupación de iguales por el punto de reproducción en el seguidor.
La figura 2 es un diagrama de flujo del algoritmo SNS de la invención.
La figura 3 es un diagrama de flujo del algoritmo HNS de la invención.
La figura 4(a) muestra cómo se usan las claves hash para agrupar iguales para el ejemplo en la figura 1.
La figura 4(b) muestra la imagen instantánea del contenido de la tabla de historial para el ejemplo de la figura 1 para el algoritmo HNS.
La figura 5 muestra una comparación del rendimiento de los algoritmos de selección de iguales en el seguidor.
Descripción detallada de la invención
El seguidor es un componente clave en cualquier sistema P2P. En un sistema de VoD P2P, tiene un papel particularmente clave dado que los iguales establecerán un contacto con el seguidor en:
(1) Tiempo de inicio, cuando se hace una petición de contenido.
(2) Cada operación de DVD dado que el igual necesita encontrar otros iguales con los que pueda intercambiar datos sin tener que ir al servidor para cada segmento.
(3) Cada vez que un igual determina que su conjunto de vecinos no contiene iguales de alta calidad para intercambiar datos.
La presente invención proporciona un procedimiento para agrupar iguales por el punto de reproducción para su uso en sistemas de VoD que soportan una funcionalidad de DVD. Entonces son posibles dos maneras de selección del conjunto de vecinos en el seguidor, ambas basadas en esta primera agrupación. Para que sea eficaz, es necesario que el seguidor agrupe iguales que puedan compartir datos. Cada vez que un igual necesita una lista de vecinos, contacta al seguidor con su punto de reproducción actual. Basándose en el punto de reproducción, el algoritmo de selección del conjunto de vecinos en el seguidor invoca dos mecanismos: (1) Encontrar el punto de reproducción del igual solicitante. (2) Selección del conjunto de vecinos que selecciona una lista de iguales que están en el mismo punto de reproducción que el punto de reproducción del igual solicitante y contiene la información de vídeo necesaria.
En primer lugar, se muestra cómo agrupar iguales por el punto de reproducción. Entonces se propondrán dos algoritmos de selección del conjunto de vecinos, la selección inteligente del conjunto de vecinos (SNS) y la selección basada en el historial del conjunto de vecinos (HNS) para ayudar a un igual a intercambiar datos con su conjunto de vecinos.
Agrupar iguales por el punto de reproducción: Para implementar los algoritmos de selección inteligente del conjunto de vecinos y selección basada en el historial, es necesario que el seguidor conozca la parte del vídeo que está reproduciendo cada igual cuando recibe una petición de igual para una lista de vecinos. Dado que el punto de reproducción aumenta con el tiempo, un seguidor convencional tendría que volver a calcular el punto de reproducción de cada igual en cada petición, incurriendo así en una sobrecarga muy alta. Para evitar tener que hacer un cálculo por cada igual, se creó una tabla hash que mantiene en cada entrada todos los iguales que están reproduciendo la misma parte del vídeo. Se usa una clave hash que una función del tiempo de vídeo cuando se produjo el salto y el punto del salto final. Se usa una operación de módulo simple como función hash.
Esto se ilustra usando un ejemplo. Para una operación de salto en el tiempo de vídeo T, el igual j notifica el punto de salto, Pj , al seguidor. El seguidor genera una clave hash HKj tal como sigue: HKj = (Pj -T)/C, donde C > 1 es la granularidad del mecanismo para predecir el punto de reproducción de iguales. La granularidad se elige según la tolerancia de los usuarios. Debe ser lo más pequeña posible, siendo el límite inferior de 1 segundo. Sin embargo, una granularidad muy baja puede conducir a interpretaciones erróneas. Se ha calculado que la C óptima debe ajustarse a no menos de 5 segundos. Entonces se elimina el igual de la entrada hash antigua y se inserta en la nueva entrada con clave como HKj . Obsérvese que la clave hash HKj es estática y no es necesario que el seguidor actualice el igual en la tabla hash hasta la siguiente operación de salto. Ésta es una de las ventajas de la invención.
En la figura 1, se demuestra este enfoque usando un ejemplo numérico. El igual A comienza a ver un vídeo en el tiempo 2 y en el tiempo 6 salta al punto de reproducción 7. Asumiendo que C = 1, la clave hash para el igual A en el salto es 1. La clave hash del igual A es la proyección de su punto de reproducción en el tiempo de salto. Se asume que el igual B ha comenzado la reproducción en el tiempo 4. En el tiempo 8, el igual B salta al punto de reproducción 9. En el tiempo 9, el igual B también tiene una clave hash 1 y el seguidor devolverá A como un igual en el mismo grupo que el igual B. Si la duración de los medios es muy grande, el tamaño de la tabla hash puede alcanzar potencialmente el número de iguales en el seguidor. La figura 4(a) proporciona una imagen instantánea de las claves hash antes y después del salto.
Para delimitar el tamaño de la tabla hash y para garantizar que los iguales que abandonan el sistema se eliminan, cada igual establece periódicamente contacto con el seguidor para informarle de su posición de reproducción actual. Este tiempo de mantenimiento en estado activo, (ta), se ajusta a 15 minutos. Con notificaciones periódicas, el número de claves no es más de (L ta)/C. En este caso, L es la duración del vídeo. Para una película de 120 minutos, ta = 15 minutos y C = 1 minuto, sólo hay 135 diferentes claves activas posibles en ese seguidor en cualquier tiempo. Al asignar 135 entradas en la tabla, pueden evitarse colisiones y conseguirse una complejidad de O(1) para acceder a/insertar en una tabla hash.
Dado que ahora se tiene un mecanismo ligero para agrupar iguales por el punto de reproducción y hacer actualizaciones rápidas en operaciones de salto, se comenta el diseño de dos algoritmos de selección del conjunto de vecinos.
Selección inteligente del conjunto de vecinos:
El algoritmo SNS se muestra a continuación.
Algoritmo 1 Selección inteligente del conjunto de vecinos (SNS)
Requisito: El archivo de medios se divide en K fragmentos.
Requisito: Para cada fragmento de medios i, el seguidor mantiene una lista de iguales Li que reproducen el fragmento i.
Resultado: El seguidor devuelve n vecinos a un igual solicitante.
1: Un igual A pone en contacto el seguidor con un punto de reproducción P al que quiere saltar.
2: El conjunto de vecinos de A, Na = O (inicialmente, ajustado a conjunto vacío)
3: El seguidor estima el fragmento j del punto de reproducción P, 1 < j < K, P G fragmento j y calcula su clave hash HKj .
4: El seguidor coge aleatoriamente n iguales de la lista Lj y los añade a la lista Na
5: recuento ^ j
6: suma ^ Tamaño(Lj )
7: mientras suma < n hacer
8: recuento ^ recuento 1
9: suma ^ suma Tamaño(Lrecuento)
10: añadir el Li e n t o ajustado a Na
11: fin mientras
12: Añadir el igual A a la lista Lj
13: devolver el conjunto de vecinos de A, Na
La lógica de este algoritmo para seleccionar n vecinos sigue las etapas siguientes, una vez que una lista de iguales con la misma clave hash que el igual solicitante se ha generado según la etapa anterior:
1. Si no pueden encontrarse n vecinos en el mismo punto de reproducción del igual solicitante, se intenta obtener los iguales restantes de una lista de iguales que están cerca del punto de reproducción del igual solicitante y tienen una clave hash mayor. El fundamento detrás de esta elección es que los iguales cercanos en el tiempo al igual solicitante pueden haber reproducido ya el segmento y por tanto, pueden proporcionarlo al igual solicitante. Así, para un igual que ha saltado a un punto de reproducción en el fragmento j, si el seguidor no puede encontrar n iguales en el punto de reproducción j, el seguidor consultará iguales en el punto de reproducción j+1, j+2, ... K etc. en ese orden.
2. Si el seguidor llega al último fragmento K y todavía no encuentra n vecinos, cogerá aleatoriamente los vecinos restantes de puntos de reproducción [1, j].
El algoritmo consiste, por tanto, en dos etapas: (1) calcular el punto de reproducción de un igual solicitante es una operación de tiempo constante tal como se comentó anteriormente y (2) encontrar n vecinos es también una operación de tiempo constante ya que el número de fragmentos K en un archivo de medios es pequeño, mucho más pequeño que el número de iguales en el sistema.
No hay directrices rígidas para la elección del valor de n, el número mínimo de otros iguales a los que puede estar conectado un igual. El valor de n depende de la aplicación de VoD. Dependiendo de las condiciones de red y la estabilidad de los iguales, la aplicación P2P determina una elección adecuada de n. Normalmente se elige un valor de n > 10.
Tal como se observa en la discusión anterior, el algoritmo SNS en el seguidor es de tiempo constante e intenta encontrar rápidamente iguales que pueden colaborar. Un diagrama de flujo del algoritmo SNS se muestra en la figura 2.
Usando la figura 4(a), se demuestra que para el ejemplo en la figura 1, la clave hash del igual A (HKa ) era inicialmente -2. De manera similar, la clave hash del igual B (HKb ) era inicialmente -4. En el tiempo = 6, el igual A salta dando como resultado una nueva HKa = 1. De manera similar, cuando el igual B salta en el tiempo = 8, la nueva HKb = 1. Para la SNS, el igual A se devolverá al igual B como un vecino para intercambiar datos. Si hay menos de n iguales con la misma clave hash, el algoritmo intentará en primer lugar encontrar los iguales restantes con una clave hash mayor y si no se encuentran suficientes iguales, intentará y encontrará iguales aleatoriamente.
Selección basada en el historial del conjunto de vecinos: El algoritmo HNS se muestra a continuación.
Algoritmo 2: Selección basada en el historial del conjunto de vecinos (HNS)
Requisito: El archivo de medios se divide en K fragmentos.
Requisito: Para cada fragmento de medios i, el seguidor mantiene una lista de iguales Li que reproducen el fragmento i.
Requisito: El seguidor devuelve n vecinos a un igual solicitante.
Requisito: Para cada operación de salto, el seguidor genera un historial de segmentos, Hj , reproducido por el igual. Así, cada punto de reproducción 1 < j < K contiene una lista de iguales que reprodujeron ese segmento.
1: Un igual B pone en contacto el seguidor con un punto de reproducción P al que quiere saltar.
2: El conjunto de vecinos de B, Nb = O (el conjunto de vecinos de B es un conjunto vacío).
3: El seguidor estima el fragmento j del punto de reproducción P, 1 < j < K, P G fragmento j.
4: El seguidor coge n iguales aleatoriamente de la lista Lj y los añade a la lista NB
5: si Tamaño(Lj ) < n entonces
6: Coger los n - Tamaño(Lj ) iguales restantes aleatoriamente de la lista Hi y añadirlos a NB
7: fin si
8: Coger n - Tamaño(Lj ) iguales de las listas Li, j < i < K
9: Devolver vecinos para B, Nb
El algoritmo de selección basado en el historial del conjunto de vecinos difiere de la SNS en un aspecto clave. Además de mantener una lista de iguales Lj para cada punto de reproducción j (1 < j < K), el algoritmo también mantiene Hj , un historial de todos los iguales que han reproducido el segmento j. Conociendo la velocidad de reproducción de los medios, el historial de fragmentos reproducidos por un igual se actualiza periódicamente. Obsérvese que al menos para el contenido popular, el número de iguales que han reproducido el segmento j y están activos en la nube (swarm) (y por tanto están en la tabla Hj ) es probable que sea mayor que el número de iguales que están reproduciendo el segmento j (y forman parte de la lista Lj ).
La lógica de este algoritmo para seleccionar n vecinos sigue las etapas siguientes:
1. Como en SNS, se identifica en primer lugar el punto de reproducción del igual solicitante y se obtiene una lista de iguales que están en el mismo punto de reproducción (y que, por tanto, tienen la misma clave hash). Si no está ya actualizada, se actualiza la tabla de historial con todos los fragmentos reproducidos desde la última actualización.
2. Si no pueden encontrarse n vecinos en el mismo punto de reproducción que el igual solicitante, se intenta obtener los iguales restantes de la tabla de historial. El fundamento detrás de esta elección es que se mantiene un historial Hi de cada fragmento i visionado por cada igual.
3. Si el seguidor todavía no encuentra n vecinos, cogerá en primer lugar los vecinos restantes de puntos de reproducción [j, K].
4. Si todavía no encuentra n vecinos, cogerá los iguales restantes de puntos de reproducción [1, j). Un motivo por el que esto puede funcionar es que los iguales usan el algoritmo de los más raros primero en el planificador de cargas, lo que permite a los iguales descargar fragmentos que no se han reproducido aún localmente. Un diagrama de flujo del algoritmo HNS se muestra en la figura 3.
Para generar la tabla de historial del contenido de cada igual, no es necesario que los iguales notifiquen periódicamente su contenido al seguidor. En su lugar, al estimar su punto de reproducción actual (al conocer la velocidad de reproducción de los medios que están reproduciendo) y el tiempo desde el último contacto (ya sea el tiempo de inicio, o la última operación de salto o la última petición de nuevos vecinos), el seguidor puede deducir el contenido de cada igual y renovar por consiguiente la tabla de historial. La renovación depende tanto del número de iguales como del periodo de tiempo de renovación. Por tanto la renovación, que puede ejecutarse como una tarea de fondo, tiene una complejidad de O(n), mientras que la consulta de iguales es O(1).
La segunda parte de la selección del conjunto de vecinos (HNS) requiere una tabla de historial separada que contiene los segmentos que tiene cada igual. Mantener el historial sobre un igual del orden de segundos requiere mucha memoria y hacer búsquedas en el mismo también requiere muchos recursos. En esta implementación, se dividen vídeos en fragmentos de tiempo de tamaño C. La figura 4(b) muestra imágenes instantáneas de la tabla de historial en diferentes puntos de tiempo para el ejemplo en la figura 1.
El requisito de memoria es Np * L * tamaño(P id)/C, donde L es la duración de la película, Pid es el id de igual único de cada igual y Np es el número total de iguales. Cada igual tiene un id único de 32 bits. Por tanto, el seguidor requerirá aproximadamente 18 MB de memoria para construir el historial para 20K iguales, para una duración de la película de 120 minutos y con C = 30 segundos. Así, los requisitos de memoria son muy moderados para mantener una tabla de historial de este tipo.
Impacto de los algoritmos de correspondencia de iguales: Para evaluar el rendimiento de diversos algoritmos de asignación de iguales, se evaluaron HNS y SNS frente a RNS y ONS. Se mostrará que una selección aleatoria de tales iguales puede dar como resultado conjuntos de vecinos en los que los iguales no tienen datos para compartir, dando como resultado un mal rendimiento del sistema.
La figura 5 compara el rendimiento de diferentes algoritmos, concretamente SNS y HNS, frente a un algoritmo de selección óptima del conjunto de vecinos (ONS) y el más simple entre todos, RNS. Dado que ONS tiene un conocimiento global de cada segmento en cada igual y realiza una búsqueda exhaustiva en todos los iguales, siempre devuelve iguales con los segmentos más relevantes. Si hay N iguales en el seguidor y un archivo de medios de M fragmentos, cada petición al seguidor es O(N). A partir de la figura 5, se observa que con una carga de trabajo diferente con un mayor número de saltos (a partir de una traza de VoD activa), las estrategias simples de selección del conjunto de vecinos tienen un mal rendimiento. Inicialmente, los algoritmos tanto HNS como SNS tienen aproximadamente el mismo porcentaje de vecinos útiles. Sin embargo, con el tiempo, a medida que los usuarios saltan, la fracción de vecinos útiles devuelta por el seguidor es bastante pequeña tanto para SNS como para RNS, pero es muy alta y cercana a la estrategia de selección óptima de iguales para HNS. En general, SNS tiene un rendimiento mucho mejor que RNS dado que SNS selecciona iguales que están cercanos al punto de reproducción del igual solicitante y por tanto, tiene una mayor probabilidad de formar conjuntos de vecinos útiles. HNS tiene un rendimiento casi óptimo y mucho mejor que SNS dado que HNS devuelve iguales que han reproducido el segmento solicitado en el pasado. Los iguales devueltos por s Ns , por otro lado, pueden no tener siempre el segmento solicitado dado que no todos los iguales devueltos pueden estar dentro de una ventana del punto de reproducción del igual solicitante (porque los usuarios saltan).
Se ha mostrado que la HNS tiene un rendimiento casi óptimo y es de tiempo constante. El requisito de espacio de la HNS es mínimo. Aunque SNS es mejor que RNS, no tiene un rendimiento tan bueno como HNS principalmente debido al hecho de que no aprovecha el hecho de que otros iguales activos que no comparten el punto de reproducción con el igual solicitante pueden haber visionado el mismo contenido en el historial reciente. Tanto HNS como SNS han mostrado ser eficaces en un diseño de seguidor para soportar operaciones de DVD en sistemas de VoD P2P.
Adicionalmente, pruebas de ajuste a escala con el seguidor mostraron que con patrones de salto con hasta 16.000 iguales simultáneos, el seguidor puede responder con menos de 0,1 segundos de retraso. La utilización de memoria máxima observada fue de 32 Mbytes con un pico de utilización de la CPU del 74% para el algoritmo SNS. Éste es un valor insignificante en comparación con el tiempo de transmisión de los primeros segmentos del vídeo (2 segundos para un segmento de 64 KB en un enlace de 1 Mbps) y las potentes máquinas disponibles hoy en día.
Algunas aplicaciones del seguidor son:
- Un subsistema dentro de un sistema P2P para coordinar todos los iguales (o un subconjunto de iguales si se usan múltiples seguidores).
- Como un gestor de conjunto de vecinos de iguales en un sistema P2P para ayudar a los iguales a encontrar conjuntos de vecinos de alta calidad para intercambiar datos.
En este texto, el término “comprende” y sus derivaciones (tal como “que comprende”, “comprendiendo”, etc.) no deben entenderse en un sentido excluyente, es decir, estos términos no deben interpretarse como que excluyen la posibilidad de que lo que se describe y define pueda incluir elementos, etapas, etc. adicionales.
Por otro lado, la invención obviamente no se limita a la(s) realización(es) específica(s) descrita(s) en el presente documento, sino que también abarca cualquier variación que pueda considerar un experto en la técnica (por ejemplo, en lo que respecta a la elección de componentes, configuración, etc.), dentro del alcance general de la invención tal como se define en las reivindicaciones.

Claims (4)

REIVINDICACIONES
1. Un procedimiento para agrupar iguales en un sistema P2P en el que pueden realizarse operaciones de salto de DVD, comprendiendo el procedimiento las etapas de:
a. determinar para cada igual y operación de vídeo un tiempo T y un punto de salto Pj , en el que el punto de salto Pj es el punto de reproducción al que dicho igual salta en el tiempo T;
b. generar una clave hash HKj para cada igual, teniendo la clave hash un valor HKj= (Pj-T)/C, donde C>=1 es la granularidad del sistema
c. agrupar los iguales con la misma clave hash,
d. seleccionar un grupo de vecinos de un igual solicitante del grupo de iguales con la misma clave hash que el igual solicitante, en el que tras determinar que el número de iguales en la vecindad del igual solicitante es menor que n, siendo n el número mínimo de otros iguales al que un igual se puede conectar, seleccionándose los iguales restantes del grupo de vecinos desde una lista de iguales con una clave hash mayor que y cerca de la clave hash del igual solicitante o de una lista de iguales que ya han reproducido el segmento de reproducción j del igual solicitante.
2. Un procedimiento según la reivindicación 1, en el que el valor de clave hash se actualiza cuando se realiza la siguiente operación de salto.
3. Un procedimiento según las reivindicaciones 1 o 2, en el que, si el número de iguales en el conjunto de vecinos es menor que n, en una etapa siguiente los iguales restantes se seleccionan aleatoriamente.
4. Un sistema P2P para aplicaciones de vídeo, comprendiendo el sistema un seguidor adaptado para soportar operaciones de DVD de salto, en el que el seguidor está adaptado para realizar cualquiera de los procedimientos según las reivindicaciones 1-3.
ES09780985T 2009-07-23 2009-07-23 Seguidor en sistemas P2P para optimizar funcionalidades de DVD Active ES2697874T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2009/059497 WO2011009489A1 (en) 2009-07-23 2009-07-23 Tracker in p2 p systems with dvd functionalities

Publications (1)

Publication Number Publication Date
ES2697874T3 true ES2697874T3 (es) 2019-01-29

Family

ID=41435407

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09780985T Active ES2697874T3 (es) 2009-07-23 2009-07-23 Seguidor en sistemas P2P para optimizar funcionalidades de DVD

Country Status (8)

Country Link
US (1) US8868682B2 (es)
EP (1) EP2457355B1 (es)
AR (1) AR077327A1 (es)
BR (1) BR112012001527A2 (es)
ES (1) ES2697874T3 (es)
MX (1) MX2012001025A (es)
UY (1) UY32795A (es)
WO (1) WO2011009489A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102907065B (zh) * 2010-05-20 2017-04-26 瑞典爱立信有限公司 用于管理对等网络中的数据传递的系统和方法
US10841352B2 (en) * 2012-11-27 2020-11-17 International Business Machines Corporation Non-chronological buffering of segments of a media file

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493363B2 (en) * 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
US20030212804A1 (en) * 2002-05-09 2003-11-13 Ardeshir Hashemi Method and apparatus for media clip sharing over a network
US8060648B2 (en) * 2005-08-31 2011-11-15 Cable Television Laboratories, Inc. Method and system of allocating data for subsequent retrieval
CN101351990B (zh) * 2006-04-21 2011-03-16 张永敏 实现定位播放的对等网络内容传输方法及装置
US7925781B1 (en) * 2006-05-26 2011-04-12 The Hong Kong University Of Science And Technology Distributed storage to support user interactivity in peer-to-peer video streaming
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
US8352692B1 (en) * 2007-03-30 2013-01-08 Symantec Corporation Utilizing peer-to-peer services with single instance storage techniques
US20080256255A1 (en) * 2007-04-11 2008-10-16 Metro Enterprises, Inc. Process for streaming media data in a peer-to-peer network
TWI381716B (zh) * 2007-12-31 2013-01-01 Ind Tech Res Inst 串流資料之網路傳輸系統與方法
US8219706B2 (en) * 2008-11-14 2012-07-10 At&T Intellectual Property I, Lp Interdomain network aware peer-to-peer protocol
US20100293294A1 (en) * 2009-05-15 2010-11-18 Alcatel-Lucent Usa Inc. Peer-to-peer communication optimization

Also Published As

Publication number Publication date
WO2011009489A1 (en) 2011-01-27
BR112012001527A2 (pt) 2016-03-15
US8868682B2 (en) 2014-10-21
AR077327A1 (es) 2011-08-17
UY32795A (es) 2011-02-28
MX2012001025A (es) 2012-02-21
EP2457355B1 (en) 2018-08-29
EP2457355A1 (en) 2012-05-30
US20120272282A1 (en) 2012-10-25

Similar Documents

Publication Publication Date Title
US10313115B2 (en) System and method for quantum key distribution
JP5986739B2 (ja) コンテンツセントリックネットワークにおけるエネルギ効率のよいコンテンツ検索
ES2429222B1 (es) Método y nodo de extremo para distribuir flujo continuo de contenido en tiempo real en una red de distribución de contenido
JP5775155B2 (ja) メタデータファイルを更新する方法、装置、およびシステム
ES2734257T3 (es) Sistema mejorado de transmisión de petición de bloques mediante señalización o creación de bloques
CN101677325B (zh) 发布媒体描述信息和获取媒体的方法、装置、系统
US10880357B2 (en) Reducing requests for media segments in streaming of multimedia content
US9871750B2 (en) Maintaining persistence of a messaging system
CN103181178A (zh) 用于向接收设备提供内容的方法和系统
JP2010532972A5 (es)
JP2014532338A (ja) ストリーミングメディアを伝送するための方法およびデバイス
KR20140082733A (ko) 피어-투-피어 콘텐츠 배포 시스템에서 어나운싱 피어에 의한 콘텐츠 소유의 검증
US10164774B2 (en) Securing a directed acyclic graph
JP2016059039A (ja) Ccnにおける中間ルータにおけるインタレストキープアライブ
US20120166793A1 (en) Apparatus and method for sharing and using comment on content in distributed network system
JPWO2018047698A1 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム
ES2697874T3 (es) Seguidor en sistemas P2P para optimizar funcionalidades de DVD
Lee et al. Understanding processing overheads of network coding-based content distribution in VANETs
US20090198740A1 (en) Data sharing
CN103905201A (zh) 主应用与多个从属应用的交互方法及装置
CN104462154B (zh) 数据处理方法和数据处理装置
Lo Giusto et al. Folksonomy-based reasoning for content dissemination in mobile settings
JP2016091436A (ja) 通信装置、通信方法、及び、プログラム
CN114143577B (zh) 一种视频获取方法及系统
CN114338127B (zh) 匿名通信的数据传输方法及装置、电子设备、存储介质