Abstract:
|
El presente proyecto explica el diseño y la implementación de un sistema P2P para la
distribución de contenido multimedia sobre una red estructurada. Se ha desarrollado toda
la implementación en lenguaje Java. La red presenta como características principales una
estructura con topología finita, garantiza calidad de servicio para cada uno de los nodos y
permite acotar los retardos de la red en un valor máximo. El sistema ha de garantizar que
todos los nodos puedan comunicarse entre ellos, permitiendo así disponer de señalización
y de sincronización en toda la red.
Se han implementado dos aplicaciones, una es la aplicación servidor que es la encargada
de, a partir de un flujo de vídeo, realizar una codificación del mismo en MPEG utilizando la
aplicación VideoLAN. Este flujo se almacena en objetos, en los que puede ser configurable
su tamaño. Una vez creados, los almacena en un buffer de objetos que garantiza que
todos los nodos podrán obtener todos los objetos en los que están interesados.
La otra aplicación es el cliente que se conecta al servidor, mantiene un diálogo de sincronización
y señalización para intercambiar información acerca del flujo de objetos y del
sistema global. Cuando este diálogo ha finalizado el cliente sabe a qué nodos de la red
ha de conectarse para recibir el flujo de objetos, pudiendo conectarse tanto al servidor
raíz como otro nodo de la red para empezar a recibir objetos. Una vez empieza a recibir
los objetos que provienen del flujo de vídeo, los almacena en un buffer de objetos y lo
reproduce mediante el VideoLAN, incrustado en la aplicación, y a la vez lo transmite a los
otros clientes que se lo demanden. |