Please use this identifier to cite or link to this item: http://hdl.handle.net/10316/29628
Title: Self-healing Techniques for Video-streaming Applications
Authors: Cunha, Carlos Augusto da Silva 
Orientador: Vieira, Marco
Silva, Luis
Keywords: Video-streaming; Self-healing; Failure Prediction; Failure Diagnosis; Failure Repair; Performance Failures; Dependability; Streaming de Vídeo; Auto-Reparação; Diagnóstico de Falhas; Reparação de Falhas; Previsão de Falhas
Issue Date: 22-Jan-2016
Citation: CUNHA, Carlos Augusto da Silva - Self-healing techniques for video-streaming applications. Coimbra : [s.n.], 2016. Tese de doutoramento. Disponível na WWW: http://hdl.handle.net/10316/29628
Abstract: A IBM publicou em 2001 um manifesto sobre a complexidade do software como obstáculo principal para o progresso da indústria de Tecnologias de Informação. Este manifesto levou a indústria e o meio académico a explorar novos paradigmas de desenvolvimento, manutenção e gestão de software. O paradigma de Computação Autónoma foi proposto pela IBM como uma solução para este problema, através do desenvolvimento de sistemas computacionais capazes de se gerir autonomamente a partir de objectivos de alto nível definidos pelos administradores. A auto-reparação é o aspeto da Computação Autónoma responsável pela deteção, diagnóstico e reparação autónoma de problemas resultantes de defeitos de software e hardware. O conceito de auto-reparação tem uma utilidade muito importante nos serviços de streaming de vídeo. Estes serviços impõem requisitos de transmissão de dados soft real-time, sessões longas e falhas com um impacto significativo na qualidade de experiência dos utilizadores, devido ao tempo entretanto despendido pelos mesmos na visualização dos vídeos. A importância da continuidade neste tipo de serviços é reforçada pela sensibilidade dos utilizadores à degradação da qualidade de audio e vídeo e pelas expectativas criadas pelos padrões de qualidade da TV tradicional. Esta tese aborda a aplicação do conceito de auto-reparação a dois tipos de serviço de streaming de vídeo: Pure Streaming (RTSP Streaming) e HTTP Streaming. Os serviços de Pure Streaming são fundados no conceito original de streaming, baseado na transmissão síncrona de segmentos de vídeo (grupos de frames) para os players dos utilizadores. Em HTTP Streaming, os dados são transmitidos sem controlo de fluxo, tal como qualquer outro objeto web (Progressive Download), ou solicitados em segmentos armazenados num único ficheiro de vídeo ou em ficheiros distintos (Adaptive Bitrate). Nós propomos uma infraestrutura de auto-reparação para cada tipo de serviço. Cada uma dessas infraestruturas representa o framework de um elemento autonómico associado a um nó de servidor no sistema. As atividades principais deste elemento resumem-se à monitorização (recolha de logs e deteção de falhas), previsão, diagnóstico e reparação de falhas. Estas atividades combinadas representam o ciclo de vida da recuperação proativa de falhas. Os pressupostos de falhas das infraestruturas de auto-reparação incluem falhas de performance causadas por defeitos intermitentes ou transientes, reparáveis pela reinicialização de componentes ou do sistema. A atividade de monitorização captura dados de logs, de forma a alimentar o processo de deteção de falhas e outras atividades de auto-reparação. A previsão de falhas utiliza os dados da monitorização para detetar comportamentos do sistema anómalos antes da ocorrência de falhas visíveis pelos utilizadores. As falhas previstas são diagnosticadas de forma a determinar o seu perfil, que vai decidir a escolha do tipo de ação de reparação a executar. As técnicas de reparação exploram virtualização baseada em contentores virtuais para migração e reinicialização de servidores. As actividades de auto-reparação são avaliadas experimentalmente recorrendo a benchmarks com cargas de trabalho e cargas de falhas utilizadas por perturbar os recursos do sistema, de forma a induzir falhas de performance com várias intensidades. A premissa principal a validar é a existência de padrões nos dados de log, no período entre a ativação do defeito do software e a ocorrência de falhas, passíveis de serem modelados e identificados para antecipação (previsão) e classificação (diagnóstico) de falhas. Os resultados experimentais mais relevantes da avaliação das atividades de auto-reparação podem ser resumidos como se segue. A atividade de monitorização da infraestrutura de auto-reparação tem custos de performance reduzidos. A previsão de falhas e o diagnóstico de falhas apresentam níveis de recall e precision superiores ou iguais a 98%, em ambas as infraestruturas, utilizando os benchmarks propostos. Em cenários de recuperação, a migração do checkpoint do servidor para a máquina de destino pode ser feita em 1.5 segundos, em média. Posteriormente, a actividade do servidor pode ser restabelecida na máquina de destino em 1.4 segundos, em média. A reparação através da reinicialização de contentores virtuais requer menos do que 2 segundos para ser executada. Em serviços Adaptive Bitrate, esta atividade é complementada por um período de warm-up de 72 segundos para contentores virtuais e 253 segundos para o sistema operativo. As conclusões principais da nossa tese podem ser resumidas como se segue. Os padrões capturados pelos modelos do sistema fornecem altos níveis de performance na previsão de falhas. Esses padrões são também bons classificadores para diagnóstico de falhas previstas ou detetadas. No entanto, a performance do diagnóstico de falhas previstas é superior à das falhas detetadas, uma vez que as últimas dependem de padrões mais complexos. A virtualização baseada em contentores virtuais é eficaz no isolamento da performance associada à funcionalidade de auto-reparação relativamente à do servidor de vídeo, dentro do mesmo elemento autonómico instalado num máquina física ou virtual. Este tipo de virtualização suporta a execução de técnicas de reparação sem comprometer a qualidade de experiência dos utilizadores, recorrendo a técnicas de reinicialização e migração de contentores virtuais entre máquinas. A eficiência destas técnicas permite também minimizar o impacto de falsos positivos na performance do sistema. Em serviços Adaptive Bitrate, a análise da variância dos tempos de resposta do servidor a pedidos é uma abordagem eficaz para delimitar o período de warm-up do servidor sem comprometer a qualidade de experiência dos utilizadores.
The manifesto released by IBM in 2001 observing the software complexity crisis as the main obstacle to the progress of the IT industry, has motivated the industry and the academia to explore new paradigms for software development and for maintenance and management of IT infrastructures. The Autonomic Computing paradigm was proposed by IBM to tackle the software complexity problem. It pursues the development of computing systems that can manage themselves given high-level objectives from administrators. Self-healing is one of the most important aspects of Autonomic Computing, addressing autonomous detection, diagnosis and repair of localized problems, resulting from temporary issues in software and hardware. Video-streaming services represent one of the classes of services that most benefit from the self-healing concept. These services are characterized by soft real-time data delivery requirements, long sessions and failures with significant impact on the quality of experience of users, due to the upfront time spent when watching videos. The importance of service continuity in these services is reinforced by the sensitivity of users to the degradation of audio/video quality, and also by high quality expectations created by decades of service quality patterns provided by traditional TV. This thesis tackles the self-healing aspect of Autonomic Computing in two video-streaming approaches: Pure Streaming (RTSP-based streaming) and HTTP Streaming. Pure Streaming is founded on the original concept of streaming, which performs synchronous transmission of video segments (groups of frames) to end-user’s players. In HTTP Streaming, the video is entirely downloaded similarly to any other web object (Progressive Download), or requested in small chunks stored either in the same file or in distinct files (Adaptive Bitrate). We propose a self-healing infrastructure for each video-streaming approach. Each infrastructure represents the framework of an Autonomic Element associated to a server node in a video-streaming delivery system. Its main activities are monitoring (data gathering and failure detection), failure prediction, failure diagnosis and repair. These activities combined constitute the self-healing lifecycle for proactive recovery of failures. The failure assumptions of the self-healing infrastructures include performance failures caused by intermittent faults and transient faults that could be overcome by restarting components or rebooting the system. The monitoring activity gathers log data to feed the failure detection process and the other self-healing activities. Failure prediction exploits system models trained with batch learning and online learning algorithms to detect abnormal system behaviors before the occurrence of user-visible failures. All predicted failures are diagnosed to determine the failure profile (type, resource and localization of the failure), which will decide the repair action to be executed. Repair techniques exploit container-based virtualization for efficient failover and reboot of server instances. All self-healing activities are evaluated experimentally using benchmarks that include representative workloads, combined with fault loads that perturb the main system resources to induce performance failures with several intensities. The key premise to be validated experimentally is that the patterns on log data relative to the period between the fault activation and the failure occurrence can be modeled and recognized to anticipate failures (failure prediction) and classify them (failure diagnosis). The results from the experimental evaluation conducted in this thesis are resumed as follows. The monitoring activity has low overheads in both Pure Streaming and HTTP Streaming infrastructures. The failure prediction and failure diagnosis activities present recall and precision values not lower than 98%, using our benchmarks in both infrastructures. In recovery scenarios, the failover of the server application using virtual containers requires, in average, 1.5 seconds to checkpoint the server state to another machine. This value also represents the minimum anticipation time provided by failure prediction to rescue the client-server connections. Later, the server can be restored in the fallback host in 1.4 seconds, in average. On the other hand, reboot-based recovery requires less than 2 seconds to be executed. In Adaptive Bitrate streaming, this activity is followed by a server warm-up period with a lifespan of 72 seconds for virtual container reboots, and 253 seconds for operating system reboots. The main conclusions of our thesis are resumed as follows. The patterns captured by system models can provide high levels of failure prediction performance. These patterns are also powerful discriminators for diagnosis of failures detected or predicted. Yet, the diagnosis performance of predicted failures is better than the diagnosis performance of detected failures, because the latter depends on more complex failure patterns. Container-based virtualization is effective in isolating the performance of the self-healing functionality from that of the video server within the Autonomic Element, installed either in a physical or virtual machine. Container-based virtualization also ensures the execution of repair techniques without impacting the quality of experience of users, using reboot and server migration techniques. The efficiency of repair techniques also minimizes the impact of false positives on the system performance. The analysis of variance of request-response times in Adaptive Bitrate streaming is an effective approach to delimit the server warm-up period without impacting the service quality, after reboot the server’s virtual container or the operating system.
Description: Tese de doutoramento em Programa de Doutoramento em Ciências da Informação e Tecnologias, apresentada ao Departamento de Engenharia Informática da Faculdade de Ciências e Tecnologia da Universidade de Coimbra
URI: http://hdl.handle.net/10316/29628
Rights: openAccess
Appears in Collections:FCTUC Eng.Informática - Teses de Doutoramento

Files in This Item:
File Description SizeFormat
Self-healing Techniques for Video-streaming Applications.pdf7.02 MBAdobe PDFView/Open
Show full item record

Page view(s)

195
checked on Mar 30, 2020

Download(s) 20

823
checked on Mar 30, 2020

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.