Table Of ContentUNIVERSIDADE 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