[en] A Video on Demand (VoD) system provides multimedia content to a set of clients in independent manner; users connect to the system, choose the content to view and start enjoying the service at any given moment. The video is down-streamed to the client, who receives, decodes and displays the content always expecting guaranteed Quality of Service (QoS) from the system. One of the main goals in designing VoD services is to support a great number of concurrent requests generated by geographically distributed clients; VoD systems must achieve a feasible large-scale and high-quality service with the lower costs and fewer deployment restrictions. Recently, multimedia streaming distribution in the Internet presented a spectacular growing. The Internet is the most popular environment of connected users and is deployed throughout the world. Owing to the public and global scale features of Internet, it has become the most important environment to deploy large-scale Video on Demand service (LVoD). Owing to the limitations of centralised server-client model, Peer-to-Peer (P2P) and multicast approaches are widely applied in the multimedia distribution to improve system scalability and performance by sharing resources. P2P is based in the free cooperation of equals in view of the performance of a common task; it takes advantage of available resources at the end host side (storage, content, bandwidth, power processing etc.). The multicast is a communication strategy where a sender has the capability to transmit information that can be received concurrently by a group of interested destinations. Nevertheless, P2P and multicast paradigms add new issues in the design of Internet VoD services. Peers are heterogeneous in their resources and act by their own free will, coming and leaving the system at any time; the lack or the change of data source provoked by peer faults strongly affects the QoS in VoD systems based in P2P and multicast techniques. This way, fault tolerance has become a major issue in P2P-based VoD services in order to guarantee QoS. The fault tolerance mechanism is achieved through the exchange of control messages; moreover, the failure treatment is time limited for providing error absence and consequently maintaining the QoS. A good control scheme is needed and its design must be careful owing to the soft real-time restriction of multimedia service and the overhead imposed on the system. This thesis presents a Fault Tolerance Scheme (FTS) that works by constructing a backup system in a distributed manner, based in own peers' capabilities. The FTS is designed to organise a small set of peers to store portions of the multimedia files statically in a buffer called the 'altruist buffer'. The clients that make up the distributed backup collaborate in system fault tolerance mechanism by reserving buffer space and upload bandwidth capacity; the selected peers form a Fault Tolerance Group (FTG). Results show that the control mechanism has great impact over the system and demands a caution design; the proposed Fault Tolerance Scheme collaborates to reduce the overhead imposed on the system and is able to achieve low response times in dealing with failures; this improves user experience by reducing start-up delays and guarantees a better usage of buffer resources. The FTS also distributes the control tasks providing reliability and robustness to the VoD system.

[es] Un sistema de Vídeo bajo Demanda (Video on Demand - VoD) proporciona que un conjunto de clientes acceda a contenidos multimedia de manera independiente; los usuarios se conectan al sistema, eligen el contenido a visualizar y empiezan a disfrutar del servicio en cualquier instante de tiempo. El vídeo es enviado al cliente, que recibe, descodifica y visualiza el contenido siempre esperando garantía de Calidad de Servicio (Quality of Service - QoS) por parte del sistema. Uno de los objetivos principales en el diseño de servicios de VoD es soportar un gran número de peticiones concurrentes generadas por clientes geográficamente distribuidos; los sistemas de VoD deben conseguir un servicio factible a gran escala y de alta calidad, imponiendo bajos costes de operación y pocas restricciones de despliegue. Recientemente, la distribución de contenidos multimedia en forma de flujo de datos en Internet viene presentando un crecimiento espectacular. La Internet es el entorno más popular de usuarios interconectados y está presente en todo el mundo. Debido a las características de escala global y entorno publico de Internet, esta se ha hecho el ambiente más importante para desplegar el servicio de Vídeo bajo Demanda a gran escala (Large-scale Video on Demand - LVoD). Debido a las limitaciones del modelo cliente-servidor centralizado, los paradigmas peer-to-peer (P2P) y multicast son extensamente aplicados en la distribución multimedia para mejorar la escalabilidad y prestaciones del sistema a través de la compartición de recursos. El P2P está basado en la libre cooperación de iguales con vistas al desarrollo de una tarea común; aprovecha recursos disponibles en el lado del usuario final (almacenamiento, contenido, ancho de banda, poder de procesamiento etc.). El multicast a su vez es una estrategia de comunicación donde un origen tiene la capacidad de transmitir información que puede ser recibida simultáneamente por un grupo de destinos interesados en el mismo contenido. Sin embargo, los paradigmas P2P y multicast añaden nuevas cuestiones en el diseño servicios de VoD para Internet. Los peers son heterogéneos en sus recursos y actúan por su propio libre albedrío, llegando y dejando el sistema en cualquier momento; la carencia o el cambio de la fuente de datos provocada por fallos de peers afectan fuertemente la QoS en sistemas de VoD basados en técnicas de multicast y P2P. Así, la tolerancia a fallos se ha hecho una cuestión crucial en servicios de VoD basados en P2P a fin de garantizar QoS. El mecanismo de tolerancia a fallos se consigue a través del intercambio de mensajes de control; además, el tratamiento de fallos es limitado en el tiempo para proporcionar ausencia de errores y por consiguiente mantener la QoS. Un buen esquema de control se hace imprescindible y su diseño debe ser cuidadoso debido a la restricción de tiempo real del servicio multimedia y el overhead impuesto al sistema por los mensajes de control. Esta tesis presenta un Esquema de Tolerancia a Fallos (Fault Tolerance Scheme - FTS) que trabaja construyendo un sistema de backup distribuido, basado en las capacidades de los propios peers. El FTS está diseñado para organizar un pequeño conjunto de peers que almacenan estáticamente porciones de los archivos multimedia en un buffer llamado 'buffer altruista'. Los clientes que componen el backup distribuido colaboran en el mecanismo de tolerancia a fallos del sistema reservando espacio de almacenamiento (buffer) y capacidad de ancho de banda de subida; los peers seleccionados forman un Grupo de Tolerancia a Fallos (Fault Tolerance Group - FTG). Los resultados obtenidos muestran que el mecanismo de control tiene gran impacto sobre el sistema y exige un diseño cuidadoso; el Esquema de Tolerancia a Fallos propuesto colabora para reducir el overhead impuesto al sistema y es capaz de conseguir tiempos de respuesta bajos en el manejo de fallos; esto mejora la experiencia del usuario reduciendo el retraso en el inicio de la visualización y garantiza un mejor uso de recursos de almacenamiento (buffer). El FTS también distribuye las tareas de control proporcionando fiabilidad y robustez al sistema de VoD.