UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO SANDRA SATYKO GUIMARÃES WATANABE Abordagem de Teoria dos Jogos Evolucionários para Modelagem de Aplicações de Live Streaming em Redes Peer-to-Peer Dissertação apresentada como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação a a Prof . Dr . Ingrid Jansch-Pôrto Orientadora Porto Alegre, fevereiro de 2010 CIP – CATALOGAÇÃO NA PUBLICAÇÃO Watanabe, Sandra Satyko Guimarães Abordagem de Teoria dos Jogos Evolucionários para Mode- lagem de Aplicações de Live Streaming em Redes Peer-to-Peer / Sandra Satyko Guimarães Watanabe. – Porto Alegre: PPGC da UFRGS, 2010. 98 p.: il. Dissertação (mestrado) – Universidade Federal do Rio Grande do Sul. Programa de Pós-Graduação em Computação, Porto Ale- gre, BR–RS, 2010. Orientadora: Ingrid Jansch-Pôrto. 1. Redes peer-to-peer. 2. Live streaming. 3. Teoria dos Jogos Evolucionários. 4. Tole- rância a Falhas. I. Jansch-Pôrto, Ingrid. II. Título. UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Reitor: Prof. Carlos Alexandre Netto Vice-Reitor: Prof. Rui Vicente Oppermann Pró-Reitor de Pós-Graduação: Prof. Aldo Bolten Lucion Diretor do Instituto de Informática: Prof. Flávio Rech Wagner Coordenador do PPGC: Prof. Álvaro Freitas Moreira Bibliotecária-chefe do Instituto de Informática: Beatriz Regina Bastos Haro “Semeiem paz, amor e bondade; lutem por um ideal superior e nobre. O futuro está em suas mãos! E não se esqueçam nunca: como é em cima é embaixo.” — LUCI GUIMARÃES WATANABE AGRADECIMENTOS Agradeço à minha irmã Scylla (lê-se “Sila”), por ter sido a primeira incentivadora deste trabalho, ao meu pai, Takaharu Watanabe, e ao meu querido noivo, Moacir, sem o qual a conclusão deste trabalho não seria possível. Agradeço também ao Professor Roberto da Silva, pelo valioso auxílio de última hora, à Professora Ingrid, pela orientação do trabalho, e ao apoio financeiro da Empresa Brasi- leira de Pesquisa Agropecuária (Embrapa). SUMÁRIO LISTA DE ABREVIATURAS E SIGLAS . . . . . . . . . . . . . . . . . . . . 7 LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1 INTRODUÇÃO E MOTIVAÇÃO . . . . . . . . . . . . . . . . . . . . . . 15 2 CONCEITOS BÁSICOS . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1 Teoria de Jogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 Teoria dos Jogos Evolucionários . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 Redes peer-to-peer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4 Aplicações de live streaming . . . . . . . . . . . . . . . . . . . . . . . . . 28 3 ANÁLISE DOS TRABALHOS RELACIONADOS . . . . . . . . . . . . 30 4 O CENÁRIO: APLICAÇÕES DE LIVE STREAMING EMREDES PEER- TO-PEER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.1 Funcionamento geral das aplicações de live streming em P2P . . . . . . . 35 4.2 Topologia das redes de sobreposição . . . . . . . . . . . . . . . . . . . . 35 4.3 Protocolos para disseminação de conteúdo ao vivo em redes P2P . . . . 36 4.3.1 Protocolos para topologia em árvore . . . . . . . . . . . . . . . . . . . . 37 4.3.2 Protocolos para topologia em malha . . . . . . . . . . . . . . . . . . . . 37 4.4 Mecanismo de controle de comportamento . . . . . . . . . . . . . . . . . 38 4.4.1 Sistema de auditoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4.2 Outros mecanismos de controle de comportamento . . . . . . . . . . . . 40 4.5 Outras características . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5 O SIMULADOR DE LIVE STREAMING: ANÁLISE ESTATíSTICA DE DOWNLOAD E UPLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.1 Descrição do simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2 Análise estatística . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6 O MODELO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.1 Delimitação do cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.2 O jogo para modelagem do cenário de live streaming: descrição informal 51 6.3 O conjunto de estratégias . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.4 O modelo conceitual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.4.1 A função de utilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.4.2 A dinâmica da população . . . . . . . . . . . . . . . . . . . . . . . . . . 58 7 SIMULAÇÃO E RESULTADOS . . . . . . . . . . . . . . . . . . . . . . 60 7.1 Descrição do simulador de TJE . . . . . . . . . . . . . . . . . . . . . . . 60 7.2 Análise estatística do download e upload do simulador de TJE . . . . . . 61 7.2.1 Função c(it) com lei de potência . . . . . . . . . . . . . . . . . . . . . . 62 7.2.2 Efeito de escala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7.3 Resultados evolucionários do modelo . . . . . . . . . . . . . . . . . . . . 67 7.3.1 Análise do comportamento pró-social na aplicação . . . . . . . . . . . . 67 7.3.2 Efeito de nodos oportunistas na aplicação . . . . . . . . . . . . . . . . . 67 7.3.3 Efeito do sistema de auditoria na dinâmica da população . . . . . . . . . 83 8 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 APÊNDICE A OUTROS GRÁFICOS . . . . . . . . . . . . . . . . . . . . . 95 LISTA DE ABREVIATURAS E SIGLAS P2P Peer-to-Peer TJ Teoria de Jogos TJE Teoria dos Jogos Evolucionários ESS Estratégia Evolucionariamente Estável IP Internet Protocol ISP Internet Service Provider CDN Content Delivery Network IDE Integrated Development Environment LISTA DE FIGURAS Figura 2.1: Exemplo de jogo na forma extensiva . . . . . . . . . . . . . . . . . . 22 Figura 2.2: Exemplo de jogo na forma normal . . . . . . . . . . . . . . . . . . . 23 Figura 4.1: Fluxograma do funcionamento do protocolo Chainsaw . . . . . . . . 39 Figura 5.1: Histogramas das taxas de upload . . . . . . . . . . . . . . . . . . . . 46 Figura 5.2: Gráfico externo: variância do download de 30 execuções (rede com 1.000 nodos); gráfico interno: fit linear da variância, com o respectivo valor θdown da lei de potência . . . . . . . . . . . . . . . . . . . . . . 48 Figura 5.3: Gráfico externo: variância do upload de 30 execuções (rede com 1.000 nodos); gráfico interno: fit linear da variância, com o respectivo valor θup da lei de potência . . . . . . . . . . . . . . . . . . . . . . . 48 Figura 5.4: Valores de θdown (figura (a)) e θup (figura (b)) para redes com 125, 250, 500 e 1.000 nodos . . . . . . . . . . . . . . . . . . . . . . . . . 49 Figura 6.1: Efeito de s na utilidade parcial com o download (equação 6.3) - dife- rentes valores de s produzem curvas logísticas com diferentes graus de inflexão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Figura 6.2: Efeito de r na utilidade parcial com o upload (equação 6.4) - diferen- tes valores de r produzem curvas exponenciais com diferentes inten- sidades de decaimento . . . . . . . . . . . . . . . . . . . . . . . . . 58 Figura 6.3: Função de utilidade (equação 6.5) . . . . . . . . . . . . . . . . . . . 59 Figura 7.1: Valores de θdown para diferentes valores de β, com gmax = 20 e gmin = 10 pré-fixados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Figura 7.2: Variância do upload para diferentes valores de β, com gmax = 20 e gmin = 10 pré-fixados . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Figura 7.3: Efeito de gmax (figura (a)) e gmin (figura (b)) em θdown . . . . . . . . 65 Figura 7.4: Efeito de escala: valor de θdown em redes com 125, 250, 500 e 1.000 nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Figura 7.5: Comportamento pró-social: utilidade média . . . . . . . . . . . . . . 68 Figura 7.6: Percentual médio de nodos oportunistas (gráficos da esquerda) e uti- lidade média (gráficos da direita) de cada execução do simulador de TJE com os parâmetros s = 0,05 e r = 0,02 . . . . . . . . . . . . . . 70 Figura 7.7: Percentual médio de nodos oportunistas (gráficos da esquerda) e uti- lidade média (gráficos da direita) de cada execução do simulador de TJE com os parâmetros s = 0,05 e r = 0,05 . . . . . . . . . . . . . . 71 Figura 7.8: Percentual médio de nodos oportunistas (gráficos da esquerda) e uti- lidade média (gráficos da direita) de cada execução do simulador de TJE com os parâmetros s = 0,05 e r = 0,3 . . . . . . . . . . . . . . . 73 Figura 7.9: Percentual médio de nodos oportunistas (gráficos da esquerda) e uti- lidade média (gráficos da direita) de cada execução do simulador de TJE com os parâmetros s = 0,1 e r = 0,02 . . . . . . . . . . . . . . . 74 Figura 7.10: Percentual médio de nodos oportunistas (gráficos da esquerda) e uti- lidade média (gráficos da direita) de cada execução do simulador de TJE com os parâmetros s = 0,1 e r = 0,05 . . . . . . . . . . . . . . . 76 Figura 7.11: Percentual médio de nodos oportunistas (gráficos da esquerda) e uti- lidade média (gráficos da direita) de cada execução do simulador de TJE com os parâmetros s = 0,1 e r = 0,3 . . . . . . . . . . . . . . . . 78 Figura 7.12: Percentual médio de nodos oportunistas (gráficos da esquerda) e uti- lidade média (gráficos da direita) de cada execução do simulador de TJE com os parâmetros s = 0,5 e r = 0,02 . . . . . . . . . . . . . . . 79 Figura 7.13: Percentual médio de nodos oportunistas (gráficos da esquerda) e uti- lidade média (gráficos da direita) de cada execução do simulador de TJE com os parâmetros s = 0,5 e r = 0,05 . . . . . . . . . . . . . . . 81 Figura 7.14: Percentual médio de nodos oportunistas (gráficos da esquerda) e uti- lidade média (gráficos da direita) de cada execução do simulador de TJE com os parâmetros s = 0,5 e r = 0,3 . . . . . . . . . . . . . . . . 82 Figura 7.15: Atuação do sistema de auditoria com τ = 3; percentual médio de nodos oportunistas (gráfico da esquerda) e utilidade média (gráfico da direita) de cada execução do simulador de TJE . . . . . . . . . . . 84 Figura 7.16: Atuação do sistema com τ = 5; 10 e 20; percentual médio de no- dos oportunistas (gráficos da esquerda) e utilidade média (gráficos da direita) de cada execução do simulador de TJE . . . . . . . . . . . . 85 LISTA DE TABELAS Tabela 5.1: Principais parâmetros do simulador do Chainsaw . . . . . . . . . . . 44 Tabela 7.1: Parâmetros do simulador de TJE obtidos do Chainsaw . . . . . . . . 62 Tabela 7.2: Parâmetros privativos do simulador de TJE . . . . . . . . . . . . . . 62 Tabela 7.3: Intervalo de valores dos parâmetros da função c(it) . . . . . . . . . . 63 Tabela 7.4: Resumo do efeito de s e r na evolução de 30 execuções de simulação, com percentual variado de nodos oportunistas na população inicial . . 83