Anais - SBRC 2014 - Universidade Federal de Santa Catarina

Transcrição

Anais - SBRC 2014 - Universidade Federal de Santa Catarina
Anais
IX Workshop de Redes P2P,
Dinâmicas, Sociais e Orientadas a
Conteúdo
Wp2p+ 2014
XXXII Simpósio Brasileiro de Redes de Computadores e
Sistemas Distribuídos
5 a 9 de Maio de 2014
Florianópolis - SC
Anais
IX Workshop de Redes P2P, Dinâmicas,
Sociais e Orientadas a Conteúdo (Wp2p+)
Editora
Sociedade Brasileira de Computação (SBC)
Organizadores
Rodolfo da Silva Villaça (UFES)
Rafael Pasquini (UFU)
Carlos André Guimarães Ferraz (UFPE)
Joni da Silva Fraga (UFSC)
Frank Siqueira (UFSC)
Realização
Universidade Federal de Santa Catarina (UFSC)
Promoção
Sociedade Brasileira de Computação (SBC)
Laboratório Nacional de Redes de Computadores (LARC)
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Copyright ©2014 da Sociedade Brasileira de Computação
Todos os direitos reservados
Capa: Vanessa Umbelino (PostMix)
Produção Editorial: Roberto Willrich (UFSC)
Cópias Adicionais:
Sociedade Brasileira de Computação (SBC)
Av. Bento Gonçalves, 9500- Setor 4 - Prédio 43.412 - Sala 219
Bairro Agronomia - CEP 91.509-900 -Porto Alegre- RS
Fone: (51) 3308-6835
E-mail: [email protected]
Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo (9: 2014:
Florianópolis, SC)
Anais / Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a
Conteúdo; organizado por Rodolfo da Silva Villaça... [et al.] - Porto Alegre: SBC,
c2014
166 p.
Wp2p+ 2014
Realização: Universidade Federal de Santa Catarina
ISSN: 2177-496X
1. Redes de Computadores - Congressos. 2. Sistemas Distribuídos- Congressos.
I. Villaça, Rodolfo da Silva. II. Sociedade Brasileira de Computação. III. Título.
i
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Promoção
Sociedade Brasileira de Computação (SBC)
Diretoria
Presidente
Paulo Roberto Freire Cunha (UFPE)
Vice-Presidente
Lisandro Zambenedetti Granville (UFRGS)
Diretora Administrativa
Renata de Matos Galante (UFRGS)
Diretor de Finanças
Carlos André Guimarães Ferraz (UFPE)
Diretor de Eventos e Comissões Especiais
Altigran Soares da Silva (UFAM)
Diretora de Educação
Mirella Moura Moro (UFMG)
Diretor de Publicações
José Viterbo Filho (UFF)
Diretora de Planejamento e Programas Especiais
Claudia Lage Rebello da Motta (UFRJ)
Diretor de Secretarias Regionais
Marcelo Duduchi Feitosa (CEETEPS)
Diretor de Divulgação e Marketing
Edson Norberto Caceres (UFMS)
Diretor de Relações Profissionais
Roberto da Silva Bigonha (UFMG)
Diretor de Competições Científicas
Ricardo de Oliveira Anido (UNICAMP)
Diretor de Cooperação com Sociedades Científicas
Raimundo José de Araujo Macêdo (UFBA)
Diretor de Articulação de Empresas
Avelino Francisco Zorzo (PUC-RS)
ii
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Promoção
Sociedade Brasileira de Computação (SBC)
Conselho
Mandato 2013-2017
Alfredo Goldman (IME/USP)
José Palazzo Moreira de Oliveira (UFRGS)
Maria Cristina Ferreira de Oliveira (ICMC/USP)
Thais Vasconcelos Batista (UFRN)
Wagner Meira Junior (UFMG)
Mandato 2011-2015
Ariadne Carvalho (UNICAMP)
Carlos Eduardo Ferreira (IME - USP)
Jose Carlos Maldonado (ICMC - USP)
Luiz Fernando Gomes Soares (PUC-Rio)
Marcelo Walter (UFRGS)
Suplentes - 2013-2015
Alessandro Fabrício Garcia (PUC-Rio)
Aline Maria Santos Andrade (UFBA)
Daltro José Nunes (UFRGS)
Karin Koogan Breitman (PUC-Rio)
Rodolfo Jardim de Azevedo (UNICAMP-IC)
iii
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Promoção
Laboratório Nacional de Redes de Computadores (LARC)
Diretoria 2012-2014
Diretor do Conselho Técnico-Científico
Elias P. Duarte Jr. (UFPR)
Diretor Executivo
Luciano Paschoal Gaspary (UFRGS)
Vice-Diretora do Conselho Técnico-Científico
Rossana Maria de C. Andrade (UFC)
Vice-Diretor Executivo
Paulo André da Silva Gonçalves (UFPE)
Membros Institucionais
SESU/MEC, INPE/MCT, UFRGS, UFMG, UFPE, UFCG (ex-UFPB Campus Campina
Grande), UFRJ, USP, PUC-Rio, UNICAMP, LNCC, IME, UFSC, UTFPR, UFC, UFF,
UFSCar, CEFET-CE, UFRN, UFES, UFBA, UNIFACS, UECE, UFPR, UFPA,
UFAM, UFABC, PUCPR, UFMS, UnB, PUC-RS, UNIRIO, UFS e UFU.
iv
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Realização
Comitê de Organização
Coordenação Geral
Joni da Silva Fraga (UFSC)
Frank Augusto Siqueira (UFSC)
Coordenação do Wp2p+
Rodolfo da Silva Villaça (UFES)
Rafael Pasquini (UFU)
Coordenação de Workshops
Carlos André Guimarães Ferraz (UFPE)
v
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Realização
Organização Local
Carlos Barros Montez (UFSC)
Edison Tadeu Lopes Melo (UFSC)
Guilherme Eliseu Rhoden (PoP-SC)
Leandro Becker (UFSC)
Mário A. R. Dantas (UFSC)
Michelle Wangham (Univali)
Ricardo Felipe Custódio (UFSC)
Roberto Willrich (UFSC)
Rodrigo Pescador (PoP-SC)
Rômulo Silva de Oliveira (UFSC)
Secretaria do SBRC 2014
Juliana Clasen (UFSC)
Jade Zart (UFSC)
vi
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Mensagem do Coordenador de Workshops do SBRC 2014
Confirmando a consolidação nos últimos anos, este ano o Simpósio Brasileiro de Redes
de Computadores e Sistemas Distribuídos (SBRC 2014) apresenta mais uma série de
workshops, visando a discussão de temas novos e/ou específicos, como Internet do
Futuro e Tolerância a Falhas. Os workshops envolvem comunidades focadas e oferecem
oportunidades para discussões mais profundas e ampliação de conhecimentos,
envolvendo pesquisadores e muitos estudantes em fase de desenvolvimento de seus
trabalhos em andamento. Neste ano tivemos novas submissões, além dos workshops já
considerados tradicionais parceiros do SBRC, o que representa o dinamismo da
comunidade de Redes de Computadores e Sistemas Distribuídos no Brasil. Infelizmente,
estas novas submissões não puderam ainda ser acomodadas, mas certamente serão
consideradas para próximas edições do SBRC.
Neste SBRC 2014, temos a realização de workshops já consolidados no circuito
nacional de divulgação científica nas várias subáreas de Redes de Computadores e
Sistemas Distribuídos, como o WGRS (Workshop de Gerência e Operação de Redes e
Serviços), o WTF (Workshop de Testes e Tolerância a Falhas), o WCGA (Workshop de
Computação em Clouds e Aplicações), o WP2P+ (Workshop de Redes P2P, Dinâmicas,
Sociais e Orientadas a Conteúdo), o WRA (Workshop de Redes de Acesso em Banda
Larga), o WoCCES (Workshop of Communication in Critical Embedded Systems), o
WoSiDA (Workshop on Autonomic Distributed Systems) e o WPEIF (Workshop de
Pesquisa Experimental da Internet do Futuro). Há que se mencionar a importante
parceria com o WRNP (Workshop da Rede Nacional de Ensino e Pesquisa), que em sua
15a edição, cumpre o importante papel de fazer a ponte entre as comunidades técnica e
científica da área. Não tenho dúvida que a qualidade técnica e científica dos workshops
se manterá em alta compatível com o SBRC.
Agradeço aos Coordenadores Gerais, Joni da Silva Fraga e Frank Siqueira (UFSC), pelo
convite para coordenar os workshops do SBRC 2014 e por todo o apoio recebido.
Desejo muito sucesso e excelente participação nos Workshops do SBRC 2014!
Carlos André Guimarães Ferraz (UFPE)
Coordenador de Workshops do SBRC 2014
vii
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Mensagem dos Coordenadores do WP2P+
O Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo (WP2P+
2014), realizado em conjunto com o 32º Simpósio Brasileiro de Redes de Computadores
e Sistemas Distribuídos (SBRC 2014) em Florianópolis/SC, tem por objetivo atuar
como um fórum para apresentações técnicas de pesquisas em andamento e atividades
relevantes na área de disseminação de conteúdo cooperativo. Desde 2013 o escopo do
WP2P foi ampliado, com a criação do WP2P+, abrindo espaço para trabalhos que
apresentem novas metodologias ou que apliquem de forma inovadora métodos
existentes para projetar, avaliar e compreender a dinâmica de sistemas essencialmente
decentralizados, que agregam grandes quantidades de recursos computacionais
distribuídos, dinâmicos ou sociais para a disseminação de conteúdo na Internet. O
workshop também procura estabelecer colaborações multi-institucionais e grupos de
competência técnico-científica, bem como fortalecer atividades em andamento.
O WP2P+ promove a discussão em torno da pesquisa sobre Redes P2P, Dinâmicas,
Sociais e Orientadas a Conteúdo, combinando a apresentação de artigos científicos
completos e artigos curtos envolvendo trabalhos possivelmente em andamento
(“positioning paper”) centrados nos temas de pesquisa de grupos brasileiros atuantes na
área.
Este ano foram feitas 16 submissões, sendo 3 artigos curtos e 13 artigos completos.
Após um criterioso processo de seleção, realizado por 18 membros no comitê de
programa, cada artigo recebeu 3 revisões e os 3 artigos curtos foram aceitos. Dentre os
13 artigos completos, 9 foram aceitos para apresentação.
A coordenação do workshop gostaria de agradecer a todos os autores pela apresentação
dos trabalhos e contribuições de pesquisa em sistemas de distribuição de conteúdo.
Gostaríamos de agradecer, também, todos os revisores e membros do comitê de
programa. Adicionalmente gostaríamos de agradecer os apoios da UFES, UFU e SBC.
Rodolfo da Silva Villaça (UFES)
Rafael Pasquini (UFU)
Coordenadores do Wp2p+ 2014
viii
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Comitê de Programa do Wp2p+
Alex Borges Vieira (UFJF)
Ana Paula Couto e Silva (UFMG)
Antonio Augusto de Aragão Rocha (UFF)
Artur Ziviani (LNCC)
Carlos Kamienski (UFABC)
Christian Esteve Rothemberg (Unicamp)
Daniel Figueiredo (UFRJ)
Daniel Sadoc Menasche (UFRJ)
Fábio Luciano Verdi (UFSCar)
Humberto Marques (PUC Minas)
Italo Cunha (UFMG)
Jussara Almeida (UFMG)
Lasaro Jonas Camargo (UFU)
Lisandro Z. Granville (UFRGS)
Luciano Bernardes de Paula (IFSP)
Luis Carlos De Bona (UFPR)
Magnos Martinello (UFES)
Sidney Lucena (UNIRIO)
ix
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Sumário
Sessão Técnica 1.......................................................................................................... 1
Análise da Topologia Social do Dropbox
Eduardo C. Costa (UFJF), Leonardo C. Costa, Idilio Drago, Alex B. Vieira,
Artur Ziviani, Ana Paula C. da Silva e Jussara M. Almeida............................... 3
SimilarityFace: Proposta de Integração entre Redes Sociais e Redes P2P de
Compartilhamento de Conteúdo (Artigo Curto)
Pablo B. dos Santos (UFES), Rodolfo S. Villaça e Luciano B. de Paula............17
Spammers no Twitter: Quando Contatos Deixam de ser Bem-vindos
Hugo F. S. S. M. Barreto (UFRJ), Miguel Elias M. Campista, e
Luis Henrique M. K. Costa..................................................................................23
Sessão Técnica 2.......................................................................................................... 37
Extração de Propriedades Sociais em Redes Veiculares
Felipe D. da Cunha (UFMG, INRIA), Aline Viana, Thiago Rodrigues,
Raquel Mini e Antonio A. F. Loureiro................................................................ 39
Uma Abordagem Multicriterial Utilizando o Método ANP para Análise de
Centralidade em Redes Sociais Online
Fernanda S. B. de Lemos (UDESC), Rafael G. Vieira e Janine Kniess..............53
Análise de Risco em Redes P2P baseada em KPIs de Colaboração e de
Infraestrutura
Rafael G. Vieira (UDESC), Omir C. Alves Junior e Adriano Fiorese................ 67
Sessão Técnica 3.......................................................................................................... 81
SNMP Proxy CCN: Uma proposta de arquitetura para gerência de redes
orientadas a conteúdo interoperável com sistemas legados
Marciel L. Oliveira (UNICAMP) e Christian E. Rothenberg..............................83
Cloud Disk Drive - Uma Abordagem para a Criação de Discos Virtuais de
Baixo Custo Utilizando Redes p2p (Artigo Curto)
Anderson F. Silva (UFPE), Vinicius C. Garcia, Rodrigo E. Assad e
Frederico Durão...................................................................................................97
x
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Sumário
HyperDHT - DHT de Um Salto Baseada em Hipercubo Virtual Distribuído
Jefferson P. Koppe (UFPR), Luis C. E. de Bona e Elias P. Duarte Jr................ 103
Sessão Técnica 4.......................................................................................................... 117
Towards the Application of WebRTC Peer-to-Peer to Scale Live Video
Streaming over the Internet (Artigo Curto)
Flávio N. B. Ribeiro (PUC-Rio) e Luiz Fernando G. Soares.............................. 119
S4Q: Um Algoritmo para Seleção de Vizinhos Baseada em QoE para Sistemas
P2P de Transmissão de Vídeo
Peron R. de Sousa (UFF), Sidney C. de Lucena, Morganna C. Diniz,
Antonio A. A. Rocha e Daniel S. Menasche....................................................... 125
Predição de Fluxos em Redes de Computadores
Orlando Silva Junior (UFABC), Carlos A. Kamienski e Ana C. Lorena............139
Índice por Autor..........................................................................................................153
xi
32º Simpósio Brasileiro de Redes de Computadores e
Sistemas Distribuídos
Florianópolis - SC
IX Workshop de Redes P2P,
Dinâmicas, Sociais e Orientadas a
Conteúdo (Wp2p+)
Sessão Técnica 1
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Análise da Topologia Social do Dropbox
Eduardo Chinelate Costa1 , Leonardo Chinelate Costa1 , Idilio Drago4 ,
Alex Borges Vieira1 , Artur Ziviani2 , Ana Paula Couto da Silva3 , Jussara M. Almeida3 ∗
1
Departamento de Ciência da Computação
Universidade Federal de Juiz de Fora (UFJF) – Juiz de Fora – MG
2
Laboratório Nacional de Computação Cientı́fica (LNCC) – Petrópolis – RJ
3
Departamento de Ciência da Computação
Universidade Federal de Minas Gerais (UFMG) – Belo Horizonte – MG
4
Politecnico di Torino – Italy
{eduardo,leonardocosta}@ice.ufjf.br, [email protected], [email protected]
[email protected], {jussara,ana.coutosilva}@dcc.ufmg.br
Resumo. Entender a dinâmica do compartilhamento de arquivos em aplicações
de armazenamento de dados nas nuvens (cloud storage) é essencial para projetar sistemas que se adequem a diferentes perfis de usuários. Este artigo analisa
os padrões de compartilhamento de conteúdo no Dropbox. Considerando os dados fornecidos por mais de 300 voluntários, apresentamos uma análise do comportamento de usuários do Dropbox sob duas novas perspectivas. Por um lado,
são analisados os padrões de armazenamento de diferentes tipos de arquivos
por cada usuário; por outro, são analisados os padrões de compartilhamento
de arquivos por múltiplos usuários e o processo de formação de comunidades
em nossa base de dados. Nossos resultados mostram que existem usuários com
um grande número de parcerias e que compartilham um grande volume de dados em suas comunidades. Estes resultados representam um primeiro passo na
caracterização da rede de compartilhamento do Dropbox, e podem auxiliar no
desenvolvimento de soluções de armazenamento em nuvem mais eficazes, como,
por exemplo, através da polı́ticas mais eficientes de cache.
Abstract. The growing usage of cloud storage on the Internet makes the understanding of file sharing behavior in such applications of prime importance to
drive new system developments. This paper presents a first step towards understanding content sharing patterns on Dropbox. By means of a crowd-sourcing
experiment that includes more than 300 volunteering users, we analyze the behavior of Dropbox users under two new perspectives. Firstly, we investigate
storage patterns of different file types by unique users; secondly, we evaluate
how different users share content and how communities are built in our data
sample. Our results show that some users build a large number of partnerships,
sharing a significant volume of data within their communities. Our results can
be exploit in the design of effective cloud storage applications, such as for the
definition of more effective cache policies.
∗
Este trabalho é financiado pela CAPES, CNPq, Instituto Nacional de Ciência e Tecnologia para Web
(InWeb),FAPERJ, FAPEMIG, e PRPq/UFMG (Auxı́lio a Pesquisa de Doutores Recém-Contratados).
3
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
1. Introdução e Trabalhos Relacionados
Compreender o comportamento, o perfil e como os usuários se relacionam entre si
em diferentes sistemas e aplicações é importante para definir e projetar novos sistemas
capazes de melhor adequar suas funcionalidades a diferentes perfis e às necessidades
de seus usuários. Em muitos casos, dada a complexidade do processo de formação
de relacionamentos e dos perfis dos usuários, caracterizar e modelar estes sistemas se
torna um grande desafio [Figueiredo, 2011]. Vários trabalhos recentes na literatura
analisam como os usuários de diversos tipos de aplicações formam suas parcerias e
como se comportam ao longo do tempo. Como alguns exemplos, podemos citar redes sociais online [Jin et al., 2013], sistemas colaborativos [Ferreira et al., 2013] e redes
Peer-to-Peer (P2P) de compartilhamento de arquivos e vı́deos [Gonçalves et al., 2012,
Vieira et al., 2013, Farzad e Rabiee, 2011, Vu et al., 2010]. Considerando as aplicações
P2P, que são as mais próximas da aplicação estudada neste artigo, os autores
em [Gonçalves et al., 2012] caracterizam a dinâmica da aplicação de transmissão de vı́deo
ao vivo SopCast, mostrando que os nodos SopCast podem ser divididos em perfis de
centralidade, e que o perfil de um nodo tende a permanecer estável ao longo do tempo.
Em [Vieira et al., 2013], novamente o SopCast é analisado, mostrando que a formação
da topologia dos usuários é aleatória. Já em [Farzad e Rabiee, 2011], os autores apresentam um modelo analı́tico que considera métricas topológicas, como distribuição de grau,
coeficiente de agrupamento e caminho médio, da rede formada pelo protocolo BitTorrent.
Dentre os diversos sistemas nos quais é interessante entender o perfil dos usuários
e dos relacionamentos estabelecidos entre eles, aplicações de armazenamento em nuvem
(cloud storage) vem ganhando grande atenção nos últimos anos. A atenção a esse tipo
de aplicação se deve à sua crescente popularidade entre empresas, usuários domésticos e
acadêmicos, por ser um mecanismo prático de armazenar e compartilhar dados de forma
distribuı́da. Como consequência, o volume de tráfego gerado por essas aplicações tem
crescido a uma taxa elevada, fazendo do armazenamento nas nuvens uma das principais
aplicações geradoras de carga em algumas redes [Drago, 2013].
Nesse contexto, o Dropbox é atualmente a aplicação mais popular de armazenamento de arquivos em nuvem [Drago et al., 2012]. De fato, estatı́sticas recentes apontam
que este sistema trata mais de bilhão de uploads de arquivos por dia.1 Esta crescente
popularidade vem motivando vários estudos sobre a arquitetura e sobre a carga neste sistema [Drago et al., 2013a]. Por exemplo, os autores em [Drago et al., 2013b] apresentam
uma análise do tipo de dados armazenados pelos usuários do Dropbox, sem considerar a
estrutura de sua rede de compartilhamento. Em [Gonçalves et al., 2014], os autores apresentam um modelo do tráfego gerado por usuários do Dropbox. No entanto, esses artigos
anteriores não abordam como usuários de aplicações de armazenamento em nuvem se
relacionam e compartilham arquivos, bem como as possı́veis implicações da topologia
social dos usuários na carga de trabalho desse tipo de sistema de armazenamento.
Este artigo analisa os padrões de compartilhamento de conteúdo no Dropbox. A
análise é feita sob duas novas perspectivas: por um lado, são analisados os padrões de armazenamento de diferentes tipos de arquivos por cada usuário; por outro, são analisados
os padrões de compartilhamento de um mesmo arquivo por múltiplos usuários. Considerando os dados fornecidos por 333 usuários voluntários, os grafos de compartilhamento de
1
https://www.dropbox.com/news/company-info.
4
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
dados e tipos de arquivos são reconstruı́dos, permitindo o estudo do perfil destes usuários.
A partir da reconstrução da topologia social dos usuários considerados e da aplicação de
conceitos de redes complexas [Newman, 2003, Newman, 2010], observamos alguns aspectos interessantes sobre o compartilhamento de arquivos no Dropbox. Os principais
resultados são:
• A rede de compartilhamento do Dropbox é muito mais similar às redes sociais
clássicas do que às redes P2P de compartilhamento tradicionais. A rede de compartilhamento possui alto coeficiente de clusterização, bem como alta similaridade
de parceiros de compartilhamento entre grupos de usuários. Resultados obtidos
na análise de redes sociais poderiam, portanto, ser aplicados também à análise do
comportamento de usuários do Dropbox.
• Usuários da aplicação Dropbox estão organizados em diferentes comunidades, que
seguem certa localidade geográfica. Desta forma, polı́ticas de cache podem ser
exploradas, diminuindo o atraso para armazenamento e modificação de arquivos
nos servidores de arquivos.
Nossas contribuições ajudam a entender o comportamento de usuários de
aplicações de armazenamento em nuvem. Tal conhecimento pode ajudar no desenvolvimento de aplicações mais eficientes, bem como mecanismos de incentivos a usuários
considerados estratégicos. Por exemplo, nossos resultados mostram que alguns usuários
na rede de compartilhamento possuem um grande número de parceiros, com os quais
compartilham um grande número de arquivos. Caso estes usuários estejam localizados
em uma mesma região geográfica, polı́ticas de cache podem explorar estas caracterı́sticas.
Adicionalmente, nossos resultados mostram que alguns tipos de arquivos estão presentes
em grande número nos repositórios dos usuários. Assim, algoritmos de compressão de
dados poderiam ser otimizados para estes arquivos mais populares.
Finalmente, o número de usuários avaliados é admissivelmente pequeno considerada a população existente. Porém, esse número é razoável ao se considerar a necessidade
de uma ação voluntária dos usuários do sistema para a coleta dos dados necessários ao
estudo realizado. Ressaltamos ainda que uma monitoração tão próxima ao usuário, como
a realizada em nosso estudo, torna difı́cil um estudo de larga-escala, pois muitos usuários
podem hesitar a aderir ao estudo por verem a coleta como um risco de invasão a sua privacidade. De toda forma, a análise desse conjunto de usuários voluntários revela aspectos
interessantes que são prováveis de emergir em populações maiores, permitindo um primeiro e original estudo da topologia social em sistemas de armazenamento de arquivos
em nuvem, que abre perspectivas promissoras de pesquisa futura.
O restante deste artigo está organizado da seguinte forma. A Seção 2 descreve a
metodologia de coleta e os dados utilizados para a caracterização da topologia social de
usuários do Dropbox. A Seção 3 apresenta os modelos matemáticos aplicados, bem como
as métricas utilizadas. A Seção 4 discute os resultados obtidos, considerando a visão
global em comunidades da rede de compartilhamento, bem como a visão global da rede
de armazenamento. A Seção 5 apresenta as conclusões e os trabalhos futuros.
5
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
2. Base de Dados
As redes de compartilhamento analisadas neste artigo foram construı́das a partir de uma
coleta de dados realizada nos primeiros dois meses de 2013 com usuários voluntários
do Dropbox. A chamada para participação no experimento foi enviada à comunidade
acadêmica, através de listas de e-mails da Sociedade Brasileira de Computação, do IEEE,
de grupos de pesquisa na União Europeia, entre outras. Ao todo, 333 usuários participaram do experimento. Esses usuários armazenavam no Dropbox, no momento da coleta,
cerca de 3 milhões de arquivos, totalizando 1,38 TB. Devido à forma como a chamada
para colaboração foi distribuı́da, é seguro afirmar que o perfil dos participantes é majoritariamente acadêmico (isto é, alunos, professores e pesquisadores). Os participantes estão
distribuı́dos geograficamente como segue: Brasil (45%), Europa (40%), EUA (7%) e outras localidades (8%). A Figura 1 mostra a localização geográfica aproximada da maioria
dos participantes do experimento.2
(a) Usuários no Brasil
(b) Usuários na Europa
Figura 1. Localização geográfica aproximada dos participantes.
O programa de coleta de dados foi desenvolvido em versões nativas para Windows, Mac e Linux, além de uma versão em Java. O programa foi preparado para identificar automaticamente se os usuários voluntários possuem o cliente Dropbox. A partir
dos arquivos de configuração do Dropbox, o sistema localiza o diretório inicial sincronizado pelo usuário e, então, o varre recursivamente, coletando caracterı́sticas básicas de
todos os arquivos do usuário. Mais precisamente, são coletados de cada arquivo (i) o
tamanho, (ii) a extensão, (iii) o tipo MIME, (iv) a data da última alteração e (v) um identificador composto pelos hashes MD5 do nome, dos 8 kB iniciais e dos 8 kB finais do
arquivo. Desta forma, arquivos de usuários distintos que possuam o mesmo nome, e os
mesmos 8 kB iniciais e finais são considerados réplicas. Uma análise preliminar apresentada em [Drago et al., 2013b] e estendida em [Drago, 2013] mostra que arquivos compartilhando esses 3 campos geralmente possuem o mesmo tamanho e a mesma extensão, o
que sugere que a nossa metodologia para identificar réplicas é satisfatória.
2
A localização geográfica foi determinada através do endereço IP dos voluntários e da base de dados
MaxMind, disponı́vel em http://www.maxmind.com/
6
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
A maioria dos voluntários tem um grande volume de dados em seus repositórios,
talvez devido ao seu perfil acadêmico. Mais de 70% dos voluntários armazena pelo menos
1 GB, e praticamente 9% dos voluntários armazena pelo menos 10 GB. O tamanho médio
dos repositórios é 4,23 GB. A Tabela 1 mostra os tipos de arquivos encontrados em maior
frequência no Dropbox dos usuários. Os formatos apresentados na Tabela 1 representam
aproximadamente 80% dos dados armazenados (em Bytes). Cerca de 12% dos Bytes não
tiveram os tipos identificados e são classificados como application/octet-stream. Uma
versão anonimizada da base de dados usada neste artigo pode ser obtida de http://
www.simpleweb.org/wiki/Dropbox_Crawler.
Tabela 1. Porcentagem de Bytes e arquivos dos tipos MIME mais frequentes no
Dropbox dos voluntários.
Tipo
image/jpeg
application/pdf
application/octet-stream
application/zip
text/plain
video/mp4
video/quicktime
video/3gpp
video/x-msvideo
application/x-iso9660-image
% Bytes
19.6
14.5
12.4
8.3
7.1
5.5
3.4
3.4
2.9
2.7
% arquivos
8.0
6.2
12.7
2.2
30.5
< 0.1
< 0.1
< 0.1
< 0.1
< 0.1
3. Modelos
Nesta seção, descrevemos o modelo utilizado para representar o compartilhamento de
arquivos entre usuários Dropbox em nossa base de dados. A análise realizada possui duas
perspectivas, associadas às principais funcionalidades do Dropbox: armazenamento de
arquivos e compartilhamento entre usuários. A partir de modelos matemáticos, queremos
verificar se alguns usuários em particular compartilham mais dados entre si, e os tipos
de arquivos compartilhados. Tal conhecimento pode guiar decisões de gerenciamento da
rede, indicando, por exemplo, se seria viável distribuir a carga de trabalho do sistema de
acordo com comunidades especı́ficas de usuários com arquivos em comum.
Duas redes diferentes foram modeladas através de grafos não direcionados com
pesos nas arestas [Newman, 2003]. O grafo bipartido Ga = (Ua , F, Ea ) considera todos
os usuários voluntários e os respectivos dados armazenados em seus repositórios individuais. Os nodos do grafo Ga podem ser divididos em dois conjuntos disjuntos: o conjunto
de todos os usuários da amostra Ua e o conjunto das extensões de arquivos armazenados
e/ou compartilhados F , com |F | = 3.600 elementos.3 Cada aresta i no conjunto Ea conecta um nodo em Ua a um nodo em F e possui um peso wi . Este peso representa o total
de arquivos de um determinado tipo que o usuário possui em sua conta Dropbox. Assim,
um usuário Dropbox u está conectado a um tipo de arquivo f se este possui em seu Dropbox pelo menos um arquivo com a extensão f . O total de nodos em Ga é de 3.933 e o
total de conexões 28.883.
3
Notar que apesar do alto número de extensões diferentes na amostra, a maior parte dos arquivos estão
concentrados em alguns tipos mais frequentes, como pode ser inferido a partir da Tabela 1.
7
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Para avaliar como os usuários compartilham arquivos, o grafo Gc = (Uc , Ec ) é
definido, representando a rede de compartilhamento de arquivos entre usuários distintos.
O conjunto Uc ⊆ Ua é formado por usuários que compartilham pelo menos um arquivo.
Ec é o conjunto de arestas entre dois usuários em Uc . Se a aresta u − v existe para um
par (u, v), u e v são denominados parceiros de compartilhamento e possuem pelo menos
um arquivo em comum nos seus respectivos repositórios Dropbox. Cada aresta do grafo
possui um peso wj , que é o total de arquivos compartilhados entre os usuários u e v.
A cardinalidade de Uc , |Uc |, é igual a 107 em nossa amostra. Ou seja, do total
de 333 voluntários que participaram do experimento, 107 compartilham pelo menos um
arquivo com outro usuário pertencente ao espaço amostral da coleta. O total de nodos
em Gc é, portanto, igual a 107 e existem 1.665 arestas em Ec . Como esperado, o grafo
Gc não é conectado, dado que o compartilhamento de arquivos acontece entre indivı́duos
que possuam algum tipo relacionamento social (amizade, trabalho, etc.), ou que possuam
conteúdo popular em seu Dropbox (por exemplo, o último episódio de uma série de TV,
ou um clipe recém lançado de uma banda). Existem 5 componentes no total em Gc , com
o componente gigante formado por 83 nodos.
A Figura 2 sumariza os grafos obtidos. No grafo Ga (Figura 2(a)), o tamanho
dos nodos é proporcional ao grau. Nodos da cor azul representam os tipos de arquivos
encontrados nos repositórios dos usuários. Usuários são representados por nodos da cor
vermelha. É possı́vel verificar, por exemplo, a existência de usuários com uma grande diversidade de arquivos em seus repositórios. Alguns nodos que representam as extensões
de arquivos se destacam, mostrando que estes tipos são populares nas contas caracterizadas. A espessura das arestas é proporcional ao total de arquivos de uma extensão em
particular que o usuário possui em seu repositório. No caso do grafo Gc (Figura 2(b)),
o tamanho dos nodos é proporcional ao número total de parceiros de compartilhamento
do usuário, enquanto a espessura das arestas é proporcional ao total de arquivos compartilhados entre dois usuários distintos. Pode-se observar a existência de usuários que
compartilham um grande número de arquivos (nodos em azul) e que estes formam um
cluster de compartilhamento mútuo. Além disso, alguns usuários compartilham dados
com um número pequeno de parceiros, e se encontram na periferia da rede. Conforme
esperado, os diferentes componentes do grafo são claramente representados.
3.1. Propriedades Avaliadas
Métricas topológicas são definidas como medidas baseadas em atributos estruturais de um
grafo, podendo considerar cada nodo individualmente ou o grafo completo. Nesta seção,
apresentamos a definição das métricas topológicas utilizadas para caracterizar os usuários
e as comunidades encontradas em nossa base de dados. Além de métricas clássicas, como
o Grau, o Diâmetro e o Coeficiente de Agrupamento, foram definidas também métricas
complementares especı́ficas ao problema estudado, como descrito a seguir.
(1) Grau: O grau de um nodo v é definido como o total de arestas incidentes a este nodo.
No caso do grafo da Figura 2(b), a distribuição do grau pode mostrar se usuários compartilham arquivos com muitos parceiros, ou se os relacionamentos são em sua maioria individualizados. Grandes comunidades compartilhando arquivos em uma região geográfica
podem favorecer, por exemplo, a implantação de estratégias de cache e distribuição de
conteúdo. Desta forma, a partir do grau de um nodo v, podemos definir a intensidade de
8
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
(a) Usuários e Tipos de Arquivos
(b) Usuários e Compartilhamentos
Figura 2. Grafos de armazenamento Ga (a) e de compartilhamento Gc (b).
parceria v como o total de parceiros com os quais v compartilha um ou mais arquivos.
Assim, quanto maior o grau de um nodo, maior a sua intensidade de parceria.
(2) Diâmetro: Seja l(u, v) o caminho mais curto entre u e v. O diâmetro, d, é definido
como o maior caminho mais curto entre qualquer par de nodos do grafo:
d(G) = max∀(u,v)∈V l(u, v).
Para o grafo de compartilhamento Gc , o diâmetro é calculado considerando o componente gigante. O valor do diâmetro reflete o grau de dispersão dos nodos do grafo G.
O valor do diâmetro combinado ao valor do coeficiente de agrupamento (descrito a seguir) pode revelar se a rede de compartilhamento segue caracterı́sticas small-world, como
diversas outras redes sociais estudas na literatura [Newman, 2003, David e Jon, 2010].
(3) Coeficiente de Agrupamento: O coeficiente de agrupamento (clustering coefficient)
de um nodo v – chamado cc(v) – é definido como sendo a razão entre a quantidade de
arestas existentes entre os vizinhos de v e o número máximo de arestas possı́veis entre os
vizinhos de v. O coeficiente de agrupamento de um grafo é calculado como a média dos
valores de cc de todos os nodos. Ou seja, esta métrica reflete a formação de triângulos
na rede. No caso da rede de compartilhamento, a presença de uma grande quantidade
de triângulos significa que o compartilhamento de informações é feito entre parceiros
em comum. O alto nı́vel de agrupamento é uma caracterı́stica presente em redes sociais [David e Jon, 2010], onde pares de amigos tipicamente possuem amigos em comum.
(4) Diversidade de Conteúdo: Esta medida está relacionada aos usuários no grafo bipartido Ga e ao grau destes nodos. A métrica indica a diversidade de tipos de arquivos na
pasta dos usuários: se o grau dos nodos do conjunto Ua é elevado, a diversidade será
elevada, mostrando que os usuários possuem diferentes tipos de arquivos em suas contas.
Essa métrica pode indicar se o Dropbox é predominantemente usado para o compartilhamento de tipos particulares de arquivos e, portanto, poderia ser otimizado para tal.
9
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
(5) Popularidade dos Tipos de Arquivos: Para caracterização das comunidades de
usuários Dropbox, é interessante verificar os tipos de arquivos que eles armazenam e compartilham. Dado o grafo bipartido Ga , a popularidade é definida como sendo a distribuição
de probabilidades dos pesos das arestas que ligam os nodos usuários aos nodos que representam as extensões dos arquivos. Esta métrica permite avaliar se todos os usuários dão
a mesma preferência a determinadas extensões de arquivos, como sugerido pela Tabela 1.
A partir da informação das extensões mais populares, podemos definir classes de usuários
que tendem a estabelecer parcerias por similaridade de conteúdo.
(6) Intensidade de Compartilhamento de Arquivos: Esta métrica está relacionada aos
nodos pertencentes ao grafo Gc e aos pesos das arestas que saem de cada nodo v ∈
Gc . Assim, podemos dizer que os pares de usuários que possuem pesos menores nas
arestas que os ligam possuem uma baixa intensidade de compartilhamento. Similarmente,
podemos dizer que os pares de usuários que possuem pesos maiores nas arestas que os
ligam possuem uma alta intensidade de compartilhamento. Esta métrica captura se os
usuários compartilham arquivos igualmente entre si, ou se existem usuários que tendem a
compartilhar mais os seus dados com outros usuários da rede.
(7) Similaridade entre Parceiros: A similaridade entre parceiros de compartilhamento
pode ser definida de várias formas. Por limitações de espaço, aqui consideramos apenas
duas definições: similaridade de extensões de arquivos e de parcerias. Sejam dois nodos
u e v vizinhos no grafo Gc , ou seja, que compartilham entre si pelo menos um arquivo.
A similaridade de extensões de arquivos entre u e v é calculada a partir da interseção dos
tipos de arquivos no Dropbox de u e v. Esta medida de similaridade captura se usuários
que compartilham conteúdo tendem a ter os mesmos tipos de arquivos em suas respectivas
contas. A similaridade de parcerias, por outro lado, é definida a partir do total de parceiros
em comum de um par de nodos em Gc . Para o cálculo destes dois tipos de similaridade,
utilizamos o coeficiente de Jaccard.4
A avaliação destas métricas nos grafos definidos pode revelar o agrupamento de
usuários em comunidades, refletindo interesses em comum, colaboradores, entre outras
caracterı́sticas. Além disso, analisamos também essas métricas em relação à localização
geográfica dos usuários que compartilham arquivos. A seguir, discutimos os resultados
obtidos nessas análises.
4. Resultados
4.1. Visão Global da Rede de Armazenamento
Primeiramente, avaliamos o perfil de armazenamento de todos os voluntários que participaram da coleta de dados. A Figura 3(a) apresenta a diversidade de conteúdo (Métrica 4)
nos repositórios dos usuários participantes do nosso experimento. Nota-se que os usuários
possuem arquivos diferenciados em suas contas. Aproximadamente 31% dos usuários
possuem mais de 100 extensões diferentes de arquivos. 50% dos usuários possuem até 65
extensões de arquivos armazenados. O usuário com maior diversidade de conteúdo possui
aproximadamente 500 extensões de arquivos diferentes. Em termos da popularidade dos
tipos de arquivos (Métrica 5), a Figura 3(b) mostra que os pesos das arestas que ligam
4
Considerando os elementos dos conjuntos C1 e C2 , o coeficiente de Jaccard J é definido como
J = (C1 ∩ C2 )/(C1 ∪ C2 ).
10
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
0
0
10
P[Popularidade >= p]
P[Arquivos >= a]
10
10−1
−2
10
10−3 0
10
1
10
10
Tipos de Arquivos(a)
10−1
10−2
2
(a) Diversidade de Conteúdo
100
101
102
103
104
Popularidade(p)
105
(b) Popularidade dos Tipos de Arquivos
Figura 3. Extensões e Popularidade dos Tipos de Arquivos Armazenados
usuários a tipos de arquivos no grafo Ga seguem uma distribuição de lei de potência. Ou
seja, existem poucas extensões de arquivos armazenadas nos repositórios dos usuários
que possuem grande popularidade. As categorias com maior quantidade de arquivos são
imagens (544.322 arquivos) e documentos de texto (1.386.373 arquivos).
4.2. Visão Global da Rede de Compartilhamento
Nesta seção, analisamos as caracterı́sticas globais da rede de compartilhamento Gc . Descrevemos primeiramente a distribuição do grau. Como discutido na seção anterior, a
distribuição do grau do grafo Gc nos fornece a intensidade de parceria entre usuários. A
Figura 4(a) mostra a quantidade de parcerias em nossa base. A figura mostra que alguns
usuários possuem um número elevado de parceiros de compartilhamento de arquivos.
Embora a maior parte dos voluntários tenha poucos parceiros, o que é esperado dado o
tamanho relativamente pequeno da amostra, um número significativo de voluntários possui mais de 10 parceiros, com alguns exemplos compartilhando arquivos com mais de 50
parceiros.
Diretamente relacionada à intensidade de parceria, está a intensidade de compartilhamento de arquivos (Métrica 6), que indica se os usuários, ao compartilharem uma
pasta Dropbox com um parceiro, compartilham ou não uma grande quantidade de arquivos. A Figura 4(b) mostra que 20% dos pares de usuários compartilham mais de 388
arquivos. Mais ainda, alguns usuários (aproximadamente 5%) possuem pares com os
quais compartilham uma grande quantidade de dados (mais de 950 arquivos). Estes pares
de usuários em nossa base podem representar, por exemplo, pesquisadores participantes
de um mesmo projeto de pesquisa, ou estudantes que compartilham material didático de
disciplinas.5
A seguir, avaliamos o diâmetro e o coeficiente de agrupamento (Métricas 2 e 3
na Seção 3). Com esta análise, podemos especular, por exemplo, se a rede de compartilhamento do Dropbox possui propriedades similares às de uma rede social. O diâmetro
da rede de compartilhamento Gc é igual a 4 e o seu coeficiente de agrupamento é igual
a 0, 79. O alto coeficiente de agrupamento indica que pares de colaboradores tendem
a possuir um grande número colaboradores em comum. Esta caracterı́stica segue uma
5
Vale ressaltar que não é possı́vel obter os relacionamentos reais entre os usuários, p.ex, alunos em uma
mesma disciplina, já que as identidades dos usuários estão anonimizadas nos logs.
11
P[Parceiros >= p]
10
P[Arquivos Compartilhados >= s]
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
0
−1
10
10−2
100
1
10
Parceiros(p)
2
10
(a) Intensidade de Parceria
0
10
10−1
10−2
100
101
102
Arquivos Compartilhados(s)
103
(b) Intensidade de Compartilhamento
Figura 4. Perfil dos Usuários que Compartilham Arquivos.
das caracterı́sticas principais de redes sociais, onde um grande número de triângulos
são estabelecidos. Para fins de comparação, uma rede aleatória construı́da preservando
o número total de nodos e o grau médio do grafo Gc tem coeficiente de agrupamento
igual a 0,29 e diâmetro 2. Como outro exemplo, redes P2P de transmissão de vı́deo
ao vivo, como o SopCast, possuem uma natureza aleatória de formação de parcerias e,
logo, tem um coeficiente de agrupamento com valores entre 0,12 e 0,32, como mostrado
em [Gonçalves et al., 2012]. Isso sugere que a rede de compartilhamento do Dropbox é
muito mais similar às rede sociais clássicas do que às redes P2P. Resultados obtidos na
análise de redes sociais poderiam, portanto, ser aplicados também à análise do comportamento de usuários do Dropbox.
Em redes sociais, as ligações entre pessoas tendem a ocorrer pela propriedade de
homofilia, isto é, pessoas tendem a se conectar devido a caracterı́sticas em comum, tais
como gênero, faixa etária e renda [Easley e Kleinberg, 2010]. Uma maneira de estudar
esta propriedade entre usuários da rede de compartilhamento é verificando a similaridade
entre parceiros. Seguindo as duas versões da Métrica 7 discutidas na seção anterior, verificamos se existe similaridade (i) entre os arquivos armazenados em contas de pares
de usuários que compartilham arquivos entre si; (ii) entre os parceiros desses pares de
usuários. A Figura 5 mostra a similaridade de extensões de arquivos e de parcerias. Notar
que apenas um número desprezı́vel (0,006%) dos valores de similaridade de extensões de
arquivos estão acima de 0,6. A baixa similaridade nesta versão da métrica é esperada,
dado que o armazenamento de um determinado tipo de arquivo parece não estar diretamente ligado ao perfil social dos usuários. No entanto, considerando a versão da métrica
que leva em conta a similaridade de parcerias, o ı́ndice atinge nı́veis elevados, justamente
devido aos relacionamentos sociais dos voluntários, com ≈ 20% dos valores de similaridades acima de 0,6. Este resultado fornece indı́cios de uma formação topológica que
segue relacionamentos sociais, sejam eles baseados em parcerias acadêmicas (co-autoria
de artigos, por exemplo), ou participação em projetos de pesquisa.
4.3. Comunidades da Rede de Compartilhamento
A análise da existência de comunidades em redes de compartilhamento de arquivos é interessante para revelar grupos de usuários com maior interação entre si. Tal análise pode
revelar também se estes grupos possuem alguma similaridade de conteúdo compartilhado,
assim como outras caracterı́sticas, como a sua localização geográfica. Encontrar comu-
12
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
1
Extensões
Parcerias
P[Índice >= k]
0.8
0.6
0.4
0.2
0
0
0.2
0.4
0.6
0.8
Índice de Similaridade (k)
1
Figura 5. Distribuição da Similaridade de Extensões e Parcerias.
nidades cujos membros tendem a compartilhar mais arquivos entre si pode auxiliar em
polı́ticas de cache e distribuição geográfica do serviço, diminuindo o atraso para acessar
ou enviar modificações recentes em arquivos compartilhados.
A análise de comunidades foi realizada no componente gigante da rede de compartilhamento Gc (dado que ≈ 78% dos voluntários do experimento estão neste componente)
aplicando o algoritmo FastGreedy [Clauset et al., 2004]. Este algoritmo permite atribuir
pesos às arestas que ligam os nodos da rede, e os grupos de nodos são definidos com
base nos pesos das arestas. Assim, usuários que possuem uma intensidade maior de compartilhamento de arquivos foram agrupados em uma determinada comunidade. Foram
encontradas 6 comunidades, cada uma com 49, 13, 8, 5, 6 e 2 usuários, respectivamente.
A Tabela 2 apresenta, detalhadamente, a localização geográfica dos usuários das
comunidades (obtidas através dos respectivos endereços IP). Por exemplo, considerando
a comunidade com 49 usuários, 63% de seus componentes encontram-se no Brasil. Desta
forma, polı́ticas de cache podem ser exploradas, diminuindo o atraso para armazenamento
e modificação de arquivos nos servidores de arquivos. No entanto, vale ressaltar que os
benefı́cios das polı́ticas de cache podem ser limitados, pois também podemos notar que
existem fortes ligações de compartilhamento entre usuários em diferentes paı́ses.
Tabela 2. Comunidades e Localização Geográfica dos Usuários.
Comunidade
1
2
3
4
5
6
Paı́ses (Número de Usuários)
Bélgica (1), Alemanha (1), Croácia (1), Portugal (1), Estados Unidos (1), Áustria (2), Dinamarca (2), Holanda (3), Itália (6), Brasil (31)
Finlândia (1), Itália (3), Brasil (9)
Itália (2),Brasil (6)
Itália (1), Brasil (5)
Brasil (1), Alemanha (2), Polônia (2)
Brasil (2)
Total
49
13
8
6
5
2
A seguir serão analisadas as Comunidades 1 e 2, dado que elas possuem o maior
número de usuários. As Figuras 6 e 7 mostram os perfis destes usuários em termos de
intensidade de parceria e de compartilhamento. Seguindo a mesma tendência da rede global de compartilhamento, nas duas comunidades consideradas há um pequeno número de
13
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
usuários com maior número de parceiros e que compartilham um alto número de arquivos. É interessante notar que os usuários da Comunidade 2 tendem a compartilhar mais
arquivos com outros usuários da mesma comunidade: 20% dos usuários da Comunidade 2
compartilham mais de ≈ 340 arquivos, contra ≈ 150 na Comunidade 1 (ver Figura 7).
Este resultado indica que comunidades tendem a ter caracterı́sticas diferentes. Estas particularidades podem ser utilizadas para implementações de aplicações de compartilhamento
e armazenamento eficientes para diferentes perfis de grupos de usuários.
0
0
10
P[Parceiros >= p]
P[Parceiros >= p]
10
10−1
−2
10
100
10−1
−2
10
101
Parceiros (p)
100
101
Parceiros (p)
(a) Comunidade 1.
(b) Comunidade 2.
10
P[Arquivos Compartilhados >= s]
P[Arquivos Compartilhados >= s]
Figura 6. Intensidade de Parceria nas Comunidades.
0
10−1
100
101
102
Arquivos Compartilhados (s)
(a) Comunidade 1.
0
10
−1
10
100
101
102
Arquivos Compartilhados (s)
(b) Comunidade 2.
Figura 7. Intensidade de Compartilhamento nas Comunidades.
É também interessante verificar se, além de agregar usuários que intensamente
compartilham arquivos entre si, a estrutura em comunidades agrupa usuários com um
maior grau de similaridade. A Figura 8 mostra as similaridades de extensões de arquivos
e de parcerias das comunidades com 49 e 13 usuários. Para a Comunidade 1, 29,4% dos
valores de similaridades de parceria estão acima de 0,6. Já para a Comunidade 2, existe
uma maior sobreposição de parceiros que compartilham os mesmos arquivos: 46, 1% dos
valores de similaridade de parcerias estão acima de 0,6. O valor máximo da similaridade
de extensões de arquivos encontrado foi de aproximadamente 0,4.
5. Conclusões e Trabalhos Futuros
Este artigo apresentou uma análise das caracterı́sticas das redes de compartilhamento e
armazenamento do Dropbox a partir de dados dos repositórios de 333 voluntários de diferentes paı́ses. Foram reconstruı́das a topologia de compartilhamento entre os usuários e
dos tipos de arquivos armazenados.
14
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
1
0.6
0.4
0.2
0
Extensões
Parcerias
0.8
P[Índice >= k]
0.8
P[Índice >= k]
1
Extensões
Parcerias
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
Índice de Similaridade (k)
0
1
(a) Comunidade 1
0
0.2
0.4
0.6
0.8
Índice de Similaridade (k)
1
(b) Comunidade 2
Figura 8. Similaridade de Extensões e Parcerias nas Comunidades.
Como principais resultados encontrados podemos citar que a rede de compartilhamento do Dropbox é muito mais similar às redes sociais clássicas do que às redes P2P
de compartilhamento tradicionais, possuindo um alto coeficiente de clusterização, bem
como similaridade de parceiros de compartilhamento entre grupos de usuários. Adicionalmente, usuários da aplicação Dropbox estão organizados em diferentes comunidades,
que seguem certa localidade geográfica e possuem diferentes nı́veis de intensidade de
compartilhamento.
A análise apresentada neste artigo revela aspectos interessantes que são prováveis
de emergir em populações maiores de usuários de aplicações de compartilhamento e armazenamento em nuvem. Assim, uma extensão natural deste trabalho é realizar experimentos com um maior número de usuários, em diferentes comunidades cientı́ficas e
não-cientı́ficas. Estes experimentos poderiam ser realizados através de aplicativos distribuı́dos via redes sociais, por exemplo. No entanto, as questões inerentes a privacidade
dos usuários em coletas de dados similares as deste artigo, porém em larga-escala, ainda
estão em aberto, e deverão ser abordadas em nossos trabalhos futuros.
Referências
Clauset, A., Newman, M. E. J., e Moore, C. (2004). Finding community structure in very
large networks. Physical Review, 70(6):066111:1–066111:6.
David, E. e Jon, K. (2010). Networks, Crowds, and Markets: Reasoning About a Highly
Connected World. Cambridge University Press, New York, NY, USA.
Drago, I. (2013). Understanding and Monitoring Cloud Services. PhD thesis, University
of Twente.
Drago, I., Bocchi, E., Mellia, M., Slatman, H., e Pras, A. (2013a). Benchmarking personal
cloud storage. In Proceedings of the 13th ACM Internet Measurement Conference,
IMC’13, pages 205–212.
Drago, I., Mellia, M., Munafò, M. M., Sperotto, A., Sadre, R., e Pras, A. (2012). Inside
Dropbox: Understanding personal cloud storage services. In Proceedings of the 12th
ACM Internet Measurement Conference, IMC’12, pages 481–494.
15
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Drago, I., Vieira, A. B., e da Silva, A. P. C. (2013b). Caracterização dos arquivos armazenados no Dropbox. In Anais do Workshop de Redes P2P, Dinâmicas, Sociais e
Orientadas a Conteúdo, WP2P+, pages 109–114.
Easley, D. e Kleinberg, J. (2010). Networks, Crowds, and Markets: Reasoning About a
Highly Connected World. Cambridge University Press, New York, NY, USA, 1 edition.
Farzad, A. e Rabiee, H. R. (2011). Modeling topological characteristics of BitTorrentLike peer-to-peer networks. IEEE Communications Letters, 15(8):896–898.
Ferreira, W. M., da Silva, A. P. C., Benevenuto, F., e Merschmann, L. H. C. (2013).
Comer, comentar e compartilhar: Análise de uma rede de ingredientes e receitas. In
Proceedings of the 10th Brazilian Symposium on Collaborative Systems, SBSC’13,
pages 120–127.
Figueiredo, D. R. (2011). Introdução a redes complexas. In de Souza, A. F. e Meira Jr.,
W., editors, Atualizações em Informática 2011. PUC-Rio, Rio de Janeiro, RJ, BR, 1
edition.
Gonçalves, G., Drago, I., da Silva, A. P. C., Vieira, A. B., e Almeida, J. M. (2014). Modeling the Dropbox client behavior. In To appear in the Proceedings of the International
Conference on Communications, ICC’14.
Gonçalves, K. C., Vieira, A. B., Almeida, J. M., da Silva, A. P. C., Marques-Neto, H., e
Campos, S. V. A. (2012). Characterizing dynamic properties of the SopCast overlay
network. In Proceedings of the 20th Euromicro International Conference on Parallel,
Distributed and Network-Based Processing, PDP’12, pages 319–326.
Jin, L., Chen, Y., Wang, T., Hui, P., e Vasilakos, A. V. (2013). Understanding user behavior
in online social networks: A survey. IEEE Communications Magazine, 51(9):144–150.
Newman, M. E. J. (2003). The structure and function of complex networks. SIAM Review,
45(2):167–256.
Newman, M. E. J. (2010). Networks: An Introduction. Oxford University Press, New
York, NY, USA, 1 edition.
Vieira, A. B., da Silva, A. P. C., Henrique, F., Gonçalves, G., e de Carvalho Gomes, P.
(2013). SopCast P2P live streaming: Live session traces and analysis. In Proceedings
of the 4th ACM Multimedia Systems Conference, MMSys’13, pages 125–130.
Vu, L., Gupta, I., Nahrstedt, K., e Liang, J. (2010). Understanding overlay characteristics of a large-scale peer-to-peer IPTV system. ACM Transactions on Multimedia
Computing, Communications and Applications, 6(4):31:1–31:24.
16
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
SimilarityFace: Proposta de Integração entre Redes Sociais e
Redes P2P de Compartilhamento de Conteúdo
Pablo Brunetti dos Santos1 , Rodolfo da Silva Villaça1 , Luciano Bernardes de Paula2
1
Universidade do Espirito Santo (UFES) – São Mateus, ES – Brasil
2
Instituto Federal de São Paulo – Bragança Paulista, SP – Brasil
[email protected], [email protected]
[email protected]
Resumo. A integração entre Redes Sociais e as Redes P2P é um tema de grande
importância nos dias atuais. Basicamente parte-se da premissa de que usuários
com perfis similares são potenciais possuidores de conteúdos de mútuo interesse. Baseando-se em um cenário onde a similaridade entre usuários das redes
sociais é obtida através da extração de dados de seus perfis, e que esses perfis
podem ser representados por meio de vetores, é possı́vel extrair um grau de similaridade entre os usuários dessas redes. Com base nisso, este trabalho tem
como objetivo estabelecer relações em uma rede P2P em função da similaridade existente entre os perfis dos usuários. Como trabalho em andamento, este
artigo apresenta resultados preliminares em um protótipo para obtenção desses
dados na rede social Facebook e medição da similaridade.
1. Introdução
Embora ainda seja responsável por grande parte de todo o tráfego existente na Internet,
é notável um declı́nio na utilização de redes Par-a-Par (P2P, do inglês Peer to Peer) para
compartilhamento de conteúdo, em especial o BitTorrent [Sandvine 2013]. Podemos citar
as dificuldades encontradas pelos usuários na busca por conteúdos de seu interesse como
uma das principais causas desse declı́nio. Dentre as redes P2P destaca-se o BitTorrent,
cuja caracterı́stica é a ausência de determinismo nas conexões estabelecidas entre os pares participantes da rede. No BitTorrent uma lista de pares (enxame) que possuem um
determinado conteúdo (interesse) é escolhida de forma aleatória por um nó rastreador e
enviada a um par em resposta à sua solicitação. O par, então, é autônomo ao escolher o
subconjunto de pares do enxame com os quais se tentará uma conexão.
A topologia resultante dessa escolha influencia no desempenho desse compartilhamento [Guarnieri et al. 2013]. Dentre os caminhos para se melhorar esse desempenho,
uma das opções é atuar na seleção dos pares, selecionando aqueles com maior potencial
de compartilhamento. Assume-se a hipótese de que usuários com perfis similares em
redes sociais são potenciais possuidores de conteúdos de mútuo interesse em redes P2P.
Com base nesta premissa, a integração entre redes sociais e redes P2P torna-se uma alternativa interessante. A partir dessa integração será possı́vel escolher os pares com os
quais se deseja conectar baseando-se em informações extraı́das dos perfis no Facebook
dos usuários dos pares presentes no enxame.
Dessa forma, este artigo apresenta a implementação de um protótipo capaz de extrair informações dos perfis dos usuários do Facebook e avaliar a similaridade entre eles.
17
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Esse protótipo será capaz de extrair informações dos perfis dos usuários cadastrados em
um aplicativo dessa rede social por meio de qualquer navegador web e, a partir desses dados, modelar vetores que caracterizem os usuários e permitam a medição da similaridade
entre eles, utilizando a similaridade do cosseno [Qian et al. 2004]. Essa similaridade será
usada, posteriormente, para orientar a seleção dos pares na rede BitTorrent, objetivando-se
comprovar a hipótese estabelecida nesse trabalho.
A seguir, na Seção 2 serão apresentados alguns trabalhos relacionados. A
Seção 3 traz a modelagem do protótipo, seus componentes e as principais decisões de
implementação. A Seção 4 traz os principais resultados obtidos até o momento com a
implementação do protótipo. A Seção 5 conclui o trabalho e direciona trabalhos futuros.
2. Trabalhos Relacionados
Na literatura, uma maneira comum de se caracterizar objetos é através do uso de uma
representação vetorial, na qual as dimensões do vetor estão relacionadas a caracterı́sticas
desse objeto, tais como: palavras-chave em um texto [Berry et al. 1999], histograma de
cores em uma imagem [Kulis and Grauman 2009] ou informações de perfis de usuários
em redes sociais [Nayak 2011].
A partir de uma representação vetorial dos perfis em uma rede social como o
Facebook, é possı́vel a partir de métricas como o cosseno e a distância Euclideana aferir aqueles mais similares [Qian et al. 2004]. Na Seção 3, serão mostrados exemplos de
como fazer essa aplicação e mais detalhes sobre a transformação dos vetores podem ser
encontrados em [Villaça et al. 2013].
Guarnieri [Guarnieri et al. 2013] apresenta um estudo que avalia o impacto das
redes sociais, particularmente o Facebook, na melhoria da disseminação de dados em
redes de compartilhamento de arquivos. Os autores mostram que conteúdos anunciados
por redes sociais provocam um aumento no número de pares estáveis no enxame.
Zhang [Zhang et al. 2012] investigam como as relações de amizade em redes sociais online podem influenciar o desempenho da troca de dados compartilhados em redes
P2P. As avaliações são feitas na rede social Douban1 e o foco da proposta está nos relacionamentos entre os usuários, enquanto neste trabalho o foco está nos perfis dos usuários.
3. SimilarityFace
Este trabalho apresenta o SimilarityFace2, um aplicativo capaz de extrair as informações
da rede Social Facebook, que disponibiliza a interface Graph API para realização de
consultas em seu grafo social. O Facebook foi a rede social escolhida devido à grande
quantidade e heterogeneidade de caracterı́sticas dos seus usuários, que estão disponı́veis
e podem ser obtidas através de consultas à Graph API. Essa diversidade pode ser utilizada
para a geração de diferentes vetores de perfis de usuários com o objetivo de se medir a
similaridade entre eles usando-se diferentes caracterı́sticas.
O aplicativo SimilarityFace foi desenvolvido usando-se a linguagem de
programação Python3, a plataforma de desenvolvimento Google App Engine4, a Graph
1
http://www.douban.com
http://www.similarityface.appspot.com
3
https://www.python.org/
4
https://appengine.google.com/
2
18
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Figura 1. Módulos do aplicativo SimilarityFace e a comunicação entre eles.
API 5 , a linguagem de consulta FQL (Facebook Query Language) e tecnologias de desenvolvimento web. Funciona através de um navegador web, mas também é possı́vel
utilizá-lo através de interface de linha de comando.
A implementação do aplicativo SimilarityFace foi divida em três módulos:
Módulo Facebook, Módulo App Engine e Módulo Visual, conforme ilustrado na Figura 1.
Nas subseções seguintes serão apresentados detalhes da implementação de cada módulo.
3.1. Módulo Facebook
Esse módulo foi implementado com base nas ferramentas disponibilizadas pelo Facebook.
São informações importantes para configurar esse módulo: a URL (Uniform Resource Locator) do aplicativo, o seu nome e as permissões requeridas para realização das consultas
no grafo dos usuários. Dentre as permissões de interesse estão informações relevantes
para a criação dos vetores de similaridade, tais como: nome, idade, localização corrente,
idioma e algumas opções curtir, tais como músicas e vı́deos.
O módulo Facebook interage com o módulo App Engine através do estabelecimento de uma permissão de acesso ao aplicativo. Para obtenção de acesso, o Facebook
fornece uma chave (access Token) que autoriza o acesso temporário e seguro aos dados
dos usuários cadastrados. O access Token inclui informações sobre data de expiração,
proprietário e permissões concedidas.
3.2. Módulo App Engine
Nesse módulo é feita a implementação do aplicativo na plataforma Google App Engine,
que permite a criação e hospedagem de aplicativos na web. Para auxiliar a implementação,
o Google App Engine fornece um banco de dados (Datastore) que inclui uma API de
modelagem de dados e uma linguagem de consulta GQL (Google Query Language). O
Datastore contém a lista dos usuários que se cadastraram no SimilarityFace.
A comunicação do App Engine com o Facebook é feita através de comandos FQL
enviados sob o protocolo HTTP (Hypertext Transfer Protocol) e cujo retorno está no formato JSON (JavaScript Object Notation).
3.3. Módulo Visual
O Módulo Visual corresponde à página do aplicativo, no qual inicialmente o usuário é
redirecionado ao Facebook para efetuar o login, caso ele já esteja cadastrado. Se o usuário
não estiver cadastrado, é requerido que ele aceite o aplicativo e suas permissões.
5
https://developers.facebook.com/docs/graph-api/
19
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Figura 2. Banco de Dados no Google App Engine, exibindo somente os campos
mais importantes.
Uma vez cadastrado, é possı́vel realizar consultas FQL através do navegador. No
momento apenas usuários selecionados podem efetuar essas consultas. As informações
são recebidas e os resultados podem ser visualizados no navegador, através da interface
de linha de comando ou armazenar o resultado da consulta em arquivo texto.
4. Resultados
Nesta seção serão apresentados os resultados obtidos com a implementação do aplicativo
SimilarityFace. Por se tratar de um trabalho em andamento os resultados atualmente
obtidos mostrarão somente a base de dados de usuários do aplicativo, a interface visual
para consultas, alguns vetores e suas similaridades.
A Figura 2 6 mostra parte do banco de dados do aplicativo com uma amostra de
usuários cadastrados no aplicativo. Todos os usuários são armazenados na tabela user,
que possui campos como: userid, name, access token, dentre outros. Esses dados
podem ser recuperados através de consultas GQL.
Em seguida, na Figura 3 6 , mostra-se o resultado de uma consulta FQL no SimilarityFace por informações como nome, sexo, relacionamento, músicas e filmes curtidos
de um usuário do Facebook. A partir do Access Token, recuperado no banco de dados,
permite-se acesso aos dados do perfil dos usuários bastando informar o seu userid.
Como as informações são recebidas pelo navegador web foi necessário criar mecanismos para salvar essas informações. Isso é necessário para a criação do vetor de
perfis de usuários que será utilizado para o cálculo da similaridade entre eles. Dessa
forma optou-se por criar uma versão do Módulo Visual que permitisse acesso ao aplicativo através de console e linha de comando. A utilização dessa versão permite que os
dados das consultas sejam automaticamente armazenados localmente em arquivos texto
nos quais são representados os vetores de caracterı́sticas dos usuários.
A partir desses vetores pode-se calcular a similaridade entre os perfis. Nas Tabelas 1 e 2 são mostrados dois vetores de perfis obtidos através do aplicativo SimilarityFace e o resultado do cálculo de similaridade usando a métrica do cosseno. Nesse
6
Dados ocultados por razões de privacidade.
20
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Figura 3. Consulta FQL, requisitando os campos nome, sexo, relacionamento,
músicas e filmes curtidos por um usuário do aplicativo.
exemplo para montagem dos vetores foram selecionadas as seguintes informações: idade,
músicas (opções curtir), trabalho, educação, localização atual, naturalidade, idiomas, religião, sexo e relacionamento. Na Tabela 1 tem-se um par de perfis de usuários com
similaridade de 94,31% enquanto na Tabela 2 o par de perfis selecionado possui uma
similaridade de 18,07%.
Campos
ID
Idade
Músicas
Perfil 1
1000004069XXXXX
24
BANDA DE MÚSICA GUILHERME
BAPTISTA, PARAÍSO COUNTRY
Correios
Trabalho
Educação
Naturalidade
Localização Atual
Idiomas
Religião
Sexo
Relacionamento
EEEFM ”GERALDO VARGAS
NOGUEIRA ”, Instituto Federal
do Espı́rito Santo - IFES
Colatina-Espirito Santo-Brazil
Colatina-Espirito Santo-Brazil
Null
Null
Masculino
Em um relacionamento
Perfil 2
1000020890XXXXX
Null
SUNSET FESTIVAL
Viação Pretti, Instituto Federal do
Espirito Santo (IFES) - Campus Colatina,
Supermercado Salvador, Estagiário
EEEFM ”GERALDO VARGAS
NOGUEIRA ”, Instituto Federal
do Espı́rito Santo - IFES
Colatina-Espirito Santo-Brazil
Colatina-Espirito Santo-Brazil
Null
Null
Masculino
Em um relacionamento
Tabela 1. Par de perfis com um grau de similaridade igual a 94,31%.
5. Discussão e Conclusões
O artigo descreveu o processo de criação de um aplicativo associado ao Facebook capaz
de permitir consultas aos perfis dos usuários dessa rede social. As consultas são feitas
através da FQL com base nas informações disponibilizadas pela Graph API e o resultado
dessas consultas geram vetores que representam os perfis dos usuários. O objetivo final
será a integração entre a rede social Facebook e a rede BitTorrent, o que deve ser realizado
nas próximas etapas do projeto.
Os resultados parciais apresentados neste artigo mostram que é possı́vel, através
de técnicas simples de medição da similaridade entre perfis de usuários, obter uma estimativa coerente do grau similaridade entre eles. Em andamento temos a modelagem de novos
21
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Campos
ID
Idade
Músicas
Perfil 1
11639XXXXX
24
LETICIA E CAMILA, KINGS
OF LEON, LIFE IS A LOOP
Trabalho
Educação
Ensino fundamental
Colégio São José, UNIVALI
- Universidade do Vale do Itajaı́
Vacaria - Rio Grande do Sul - Brazil
Itapema - Santa Catarina - Brazil
Null
Null
Feminino
Em um relacionamento
Naturalidade
Localização Atual
Linguagens
Religião
Sexo
Relacionamento
Perfil 2
15758XXXXX
23
TRIO MAR AZUL, PARALAMAS DO SUCESSO,
DJAVAN, GUITARGAMER, GABI LUTHAI, 2CELLOS,
SERTANEJO UNIVERSITARIO, SYSTEM OF A DOWN,
COLDPLAY, RED HOT CHILI PEPPERS
Consys Consultoria
CEET,E.E. Monsenhor Guilherme
Schmitz, Universidade Vila Velha - UVV
Vitória - Espirito Santo - Brazil
Vila Velha - Espirito Santo -Brazil
English,Brazilian Portuguese
Null
Masculino
Solteiro
Tabela 2. Par de perfis com um grau de similaridade igual a 18,07%.
vetores, de tal forma a obter a aprimorar a caracterização dos usuários no aplicativo. Essa
informação de similaridade será utilizada posteriormente para orientar o estabelecimento
de contatos e troca de conteúdos entre os usuários da rede BitTorrent.
Referências Bibliográficas
Berry, M. W., Drmac, Z., Weng, X., and Jessup, E. R. (1999). Matrices, vector spaces,
and information retrieval. In SIAM Review,vol. 41,, page 335?362.
Guarnieri, T. A., Vieira, A. B., and da Silva, A. P. C. (2013). Impacto das Relações Sociais
em Sistemas de Compartilhamento de Arquivo. In WP2P’ 13: Anais do 9o Workshop
de Redes Dinâmicas e Sistemas P2P, Brasilia, DF, BR. SBC.
Kulis, B. and Grauman, K. (2009). Kernelized locality-sensitive hashing for scalable
image search. In IEEE International Conference on Computer Vision, ICCV. IEEE.
Nayak, R. (2011). Utilizing Past Relations and User Similarities in a Social Matching
System. In Proc. of 15th Pacific-Asia Conference on Advances in Knowledge Discovery
and Data Mining, PAKDD’11, pages 99–110, Berlin, Heidelberg.
Qian, G., Sural, S., Gu, Y., and Pramanik, S. (2004). Similarity between Euclidean and
Cosine Angle Distance for Nearest Neighbor Queries. In Proceedings of 2004 ACM
Symposium on Applied Computing, pages 1232–1237. ACM Press.
Sandvine (2013). Sandvine - Global Internet Phenomena Report. https://www.
sandvine.com/downloads/general/global-internet-phenomena/
2013/2h-2013-global-internet-phenomena-report.pdf. [Online;
Acesso em 9 de março de 2014].
Villaça, R., de Paula, L. B., Pasquini, R., and Magalhães, M. F. (2013). A Similarity
Search System Based on the Hamming Distance of Social Profiles. In Proc. of the 7th
IEEE International Conference on Semantic Computing, ICSC ’13. IEEE.
Zhang, H., Liu, B., Weng, X., and Yu, C. (2012). Can Online Social Friends Help to
Improve Data Swarming Performance? In Computer Communications and Networks
(ICCCN), 2012 21st International Conference on, pages 1–7.
22
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Spammers no Twitter:
Quando Contatos Deixam de ser Bem-vindos
Hugo F. S. S. M. Barreto, Miguel Elias M. Campista e Luís Henrique M. K. Costa ∗
1
Grupo de Teleinformática e Automação
PEE/COPPE - DEL/POLI
Universidade Federal do Rio de Janeiro
{sadok,miguel,luish}@gta.ufrj.br
Resumo. O crescimento das redes sociais vem acompanhado de diversos problemas de privacidade e exposição a conteúdos indesejados. Principalmente no
Twitter, os spams são frequentes e, mesmo com um combate intensivo, o problema persiste. As ferramentas de combate são, em sua maioria, baseadas em
mecanismos de verificação de e-mail que focam na análise do conteúdo das
mensagens. No entanto, esta verificação nem sempre é efetiva em redes sociais já que estas são também compostas por relações de amizade entre usuários.
Este trabalho propõe uma abordagem que leva em conta essas relações e as modela como conexões de um grafo. Diferentes características são verificadas com
o uso de métricas como a distribuição de grau e o coeficiente de agrupamento.
A partir da aplicação do método proposto, é possível notar um comportamento
diferenciado da distribuição de grau dos spammers, contrariando a regra de
potência esperada para os usuários legítimos.
Abstract. The growth in social networks comes with lots of privacy issues and
unsolicited content exposition. Mostly on Twitter, spammers are very common
and, even with an intensive combat, the problem remains. The combat tools are,
based primarily on email inspection mechanisms that focus on content analysis. Nevertheless, this inspection may not always be very effective in a social
network context because they are also formed by relationship between users. In
this paper, we propose a different approach that considers those relationships
and use them as connections in a graph model. Different patterns are observed
using metrics such as degree distribution and clustering coefficient. From this
approach, it is possible to notice some different behaviors in spammers’ degree
distribution, which opposes to the power law expected for the legitimate users.
1. Introdução
As mensagens não solicitadas, chamadas de spams, se tornaram comuns nas aplicações de correio eletrônico (e-mail) a partir de meados da década de 90 com a popularização da Internet. Infelizmente, a prática era incentivada pois mesmo uma pequena
parcela de spams respondidos já era suficiente para grandes retornos financeiros. Apesar
dos inúmeros sistemas anti-spam, as técnicas utilizadas ainda não são totalmente eficazes,
fazendo com que o problema persista e estimule novas variantes. Uma delas está presente
∗
Este trabalho foi parcialmente financiado pela CAPES, CNPq, FAPERJ e FINEP.
23
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
no contexto das redes sociais online, que também lidam com mensagens entre usuários
e por isso se tornaram um alvo em potencial. Para se ter uma ideia, o número de usuários maliciosos, chamados de spammers, já representa mais de 3% dos usuários das redes
sociais [Thomas et al., 2011].
Os alvos preferidos dos spammers nas redes sociais são o Facebook e o Twitter. A
preferência é consequência da popularidade dessas redes que lideram as estatísticas mundiais. Atualmente, o Facebook possui mais de 1 bilhão de usuários, enquanto o Twitter
tem mais de 500 milhões. Apesar desses números mostrarem que o Facebook é a rede
social mais usada no mundo, Stringhini et al. verificaram que o Twitter é mais vulnerável
à adição de contas armadilhas, que são contas que imitam um usuário real a espera de uma
interação com usuários spammers. Enquanto no Facebook somente 4,5% das requisições
de amizade são originadas por spammers; no Twitter, 90% são realizadas por esse tipo de
usuário [Stringhini et al., 2010].
Na literatura, há estudos sobre o Twitter que focam somente no comportamento dos usuários legítimos [Kwak et al., 2010] assim como há estudos que consideram a presença de spammers [Benevenuto et al., 2010, Stringhini et al., 2010,
Thomas et al., 2011, Messias et al., 2013] e de um mercado de seguidores [Stringhini et al., 2013, Thomas et al., 2013]. As abordagens, no entanto, para
detecção de spammers no Twitter se baseiam tipicamente no conteúdo das mensagens e
nos atributos mais simples dos usuários, como o número de amigos e a idade da conta.
Essas abordagens podem ser aprimoradas, pois deixam de fora características importantes
de inter-relacionamento entre os usuários.
Este trabalho trata os usuários spammers de forma diferenciada, já que aproveita
as interações de amizade entre eles com o resto da rede. A abordagem proposta contribui para uma detecção mais acurada dos usuários mal intencionados ao envolver fatores
mais difíceis de serem manipulados. Para que seja possível a análise dessas interações, o
Twitter é modelado como um grafo direcionado, sendo que cada usuário é representado
por um vértice e cada relação entre usuários é representada por uma aresta. A partir desse
modelo, é possível obter e analisar a vizinhança de cada usuário. Intuitivamente, esperase que os usuários com maior número de vizinhos sejam suspeitos visto que quanto maior
o número de seguidores, maior é a difusão das mensagens. A vizinhança de um usuário
é então investigada para verificar a existência de algum tipo de agrupamento entre spammers e se a popularidade também segue o mesmo padrão dos usuários legítimos. Para
isso, faz-se o uso de métricas de distribuição de grau, centralidade de grau, coeficiente de
agrupamento e PageRank.
Os resultados obtidos a partir de traços reais de dados permitem notar padrões
decisivos na distinção entre os dois tipos de usuários, legítimos e maliciosos. Foi verificado que o comportamento artificial dos spammers faz com que a sua centralidade de
grau também siga um comportamento não natural. Também foi verificado que, da mesma
forma que os usuários legítimos, os spammers apresentam usuários com coeficiente de
agrupamento considerável na sua vizinhança.
Este trabalho está organizado da seguinte forma: A Seção 2 introduz os conceitos
básicos do Twitter. A Seção 3 apresenta os spammers do Twitter e algumas de suas
táticas. A Seção 4 descreve a modelagem proposta neste trabalho para o Twitter e define
24
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
a rede de entorno dos usuários. A Seção 5 detalha a metodologia empregada para detectar
spammers. A Seção 6 mostra os spammers e usuários legítimos usados. A Seção 7
apresenta os resultados obtidos para os spammers e usuários legítimos. A Seção 8 discute
formas de avaliar os usuários automaticamente com base nos resultados da seção anterior.
Finalmente, a Seção 9 conclui este trabalho e apresenta os trabalhos futuros.
2. A Dinâmica do Twitter
O Twitter é uma rede social simples se comparada ao Facebook. Essa rede funciona como um microblog onde cada usuário posta mensagens com no máximo 140 caracteres, denominadas “tweets”. No Twitter, os usuários possuem interações unidirecionais,
ou seja, um usuário pode seguir outros ou ser seguido. Como essa dupla interação não é
obrigatória, isso torna a rede direcionada.
As interações do Twitter são denominadas como interações entre amigos e seguidores. Os amigos são todas as contas que determinado usuário segue, enquanto os
seguidores são as contas que seguem tal usuário.
•
•
•
•
•
Alguns outros aspectos importantes do Twitter são apresentados abaixo:
Feed: O feed é onde o usuário vê as últimas atualizações dos usuários que escolheu seguir.
Tópicos populares: Tópicos representados por palavras ou frases que aparecem
com uma frequência maior na rede em um determinado momento. Tais tópicos
são muitas vezes precedidos por um hashtag “#”, que é uma convenção entre os
usuários para se referir ao mesmo assunto. Esse tópicos são também chamados de
“trending topics” do Twitter.
Menções: Independentemente das relações amigo/seguidor, um usuário do Twitter pode fazer menção a outro em suas mensagens precedendo o nome dele com
um caractere “@”. Ao ser mencionado em uma mensagem, o usuário tem a mensagem exibida em seu próprio microblog.
Retweets: O Twitter permite que uma determinada mensagem de um usuário
seja duplicada por outros que se interessarem. A mensagem então é exibida no
microblog do usuário que a duplicou sem perder a referência à mensagem original.
Busca: Os aspectos listados acima fazem ainda mais sentido quando são acessados pela busca. Um usuário que esteja interessado em um tópico pode realizar uma
busca pelo tópico e, assim, visualizar todas as últimas mensagens relacionadas na
rede.
No Twitter, a visualização de mensagens depende da relação amigo/seguidor estabelecida entre os usuários. Isso porque cada usuário terá em seu feed as mensagens
dos seus amigos. Consequentemente, ele somente tem suas próprias mensagens exibidas
no feed de seus respectivos seguidores. Note que essa característica requer o estabelecimento prévio de relação social entre usuários como forma de filtragem de mensagens
não desejadas no seu próprio feed. Portanto, caso o usuário queira ter suas mensagens
visualizadas por muitos usuários, ele deve garantir a existência de muitos seguidores para
si. Essa última característica é explorada neste trabalho, conforme explicada na Seção 5.
3. Spam e Análise de Spams no Twitter
No Twitter, da mesma forma que no e-mail, um spam é uma mensagem não solicitada com objetivo variado que pode ser propaganda, propagação de um vírus ou a apli-
25
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
cação de um golpe no usuário final [Taveira et al., 2008]. Os usuários que enviam spam,
os chamados spammers, se aproveitam dos mecanismos de interações unidirecionais do
Twitter, e de seus diversos aspectos definidos anteriormente na Seção 2, para difundir
suas mensagens. Um determinado spammer pode acrescentar um termo popular às suas
mensagens para que estas sejam exibidas aos usuários que buscarem esses termos. Outra
abordagem usada pelos spammers, mais agressiva e portanto mais facilmente reconhecida
pelo Twitter, é mencionar usuários em seus spams. Nesse caso, o Twitter disponibiliza
meios para que os usuários mencionados possam facilmente denunciar o spammer agressor. Alguns spammers ainda optam por seguir usuários legítimos na esperança de serem
seguidos de volta. Sendo assim, eles teriam as suas mensagens difundidas com o consentimento do usuário atacado. A Figura 1 ilustra um exemplo de usuário spammer no
Twitter, no qual nota-se o uso de tópicos populares precedidos por hashtags. Nesse caso, o
spammer acopla tópicos populares que não necessariamente têm relação com o conteúdo
da mensagem.
Figura 1. Exemplo de usuário spammer no Twitter que acopla tópicos populares
que não necessariamente têm relação com o conteúdo da mensagem.
Ao contrário da Figura 1, onde os indícios do spam foram todos baseados no
conteúdo da mensagem, neste trabalho se explora as relações entre amigos/seguidores
como critério de detecção de spammers.
4. Modelagem das Relações entre Usuários
A metodologia proposta neste trabalho é baseada na avaliação do impacto que
cada usuário traz para a rede no seu entorno. O Twitter, sendo uma rede social, pode ser
modelado como um grafo direcionado. Nesse modelo, cada usuário é um nó do grafo e
as relações unidirecionais as arestas. Adota-se o sentido de cada aresta de forma que se A
é seguidor de B, então há uma aresta ligando A até B. Uma vez conhecidas as arestas, é
importante saber qual a rede de entorno de um nó e assim avaliar se essa rede é formada
26
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
por relações típicas ou não. A rede de entorno de um determinado nó é definida como se
segue.
4.1. Definição da Rede de Entorno
A análise deste trabalho é baseada em subredes do Twitter ao redor de cada
usuário analisado. Assim, deve-se determinar como essa subrede é definida. Para isso,
é usado o conceito de κ-vizinhança definido previamente em [Phe-Neau et al., 2013]
e adaptado para ficar de acordo com as direções definidas para o grafo, de forma a
considerar os seguidores dos usuários.
Definição 1 κ-vizinhança. A κ-vizinhança Vκi de um nó i é o conjunto de todos os nós
cujo o caminho mais curto até i é de no máximo κ saltos.
A
A partir da Definição 1, nota-se que Vκ−1
⊆ VκA e que é possível estender a definição fazendo com que V0A = {A}. Essa definição também faz com que somente os
seguidores dos nós sejam considerados. Devido à forma como foi definida a ligação de
seguidores, o caminho até um nó i partindo de um nó em sua respectiva κ-vizinhança
deve, obrigatoriamente, passar por um seguidor desse nó i e não por um amigo, já que
essa relação está no sentido contrário. Isso faz com que algum determinado amigo de i só
esteja presente na κ-vizinhança caso exista um caminho de no máximo κ saltos do amigo
até i. A Figura 2 ilustra a 1-vizinhança e a 2-vizinhança do nó i. A primeira é formada
por seguidores a um salto, enquanto a segunda é formada por seguidores de dois saltos.
Figura 2. Exemplo da κ-vizinhança de um nó i para κ = 1 e κ = 2.
Para cada usuário do espaço amostral é então coletada a sua respectiva κvizinhança.
27
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
5. Metodologia para a Detecção de Spammers
Definida a κ-vizinhança, chamada também de rede de entorno, pode-se então compreender a metodologia empregada neste trabalho. Dessa forma, a metodologia proposta
pode ser subdividida nas seguintes etapas:
1. seleção de usuários suspeitos;
2. coleta de dados;
3. análise da rede de entorno.
A etapa de seleção de suspeitos deve definir critérios que identifiquem os usuários
a serem analisados. Já a coleta de dados deve obter da rede do Twitter as informações
necessárias para a análise da κ-vizinhança desse usuário. Por fim, deve-se aplicar métricas
que capturem diferenças entre as redes de entorno de um usuário legítimo e de um usuário
spammer.
5.1. Seleção de usuários suspeitos
A seleção de usuários suspeitos pode ser realizada automaticamente de diferentes
formas, desde a identificação de algum padrão suspeito nas mensagens até o reconhecimento do remetente em alguma lista negra de usuários maliciosos. Neste trabalho,
sabendo que muitos spammers fazem uso de tópicos populares [Benevenuto et al., 2010]
para serem listados em buscas, escolheu-se como parâmetro para a seleção de usuários
maliciosos aqueles que tenham enviado mensagens contendo pelo menos um tópico popular. A partir dessa pré-seleção, escolheu-se classificar cada usuário manualmente, com
base na visualização de seus perfis. Este método manual não é escalável, mas é suficiente
para avaliar o desempenho da proposta, que por si só é tão escalável quanto desejado.
Este trabalho se refere a esse conjunto de usuários selecionados como sendo o espaço
amostral.
5.2. Coleta de dados
A coleta de dados requer o uso da API do Twitter. A partir da API é possível
obter as conexões de qualquer usuário não protegido, o que caracteriza a grande maioria
da rede. O maior empecilho, porém, do uso dessa API é o seu limite, por credencial de
desenvolvedor, de 15 requisições por janela de tempo de 15 minutos. Apesar dessa limitação retardar a obtenção de dados, ela pode ser minimizada através do desenvolvimento
de programas que usem múltiplas credenciais. Esses programas permitem a obtenção da
κ-vizinhança de um nó que é necessária para a avaliação proposta.
O programa empregado neste trabalho utiliza o Algoritmo 1 para a coleta da κvizinhança de um usuário específico i, armazenando-a no grafo G. A execução acontece
de forma recursiva obtendo os seguidores de i e, em seguida, a (κ − 1)-vizinhança de
cada um destes sucessivamente. Após se obter a rede de entorno de um seguidor ela é
adicionada ao grafo G. A condição de parada é determinada por κ de forma que, quando
κ = 0, não são feitas mais chamadas recursivas, sendo retornado somente o usuário i.
Observe que O BTER S EGUIDORES(i) constitui a parte mais lenta do algoritmo, já que faz
uso da API do Twitter com todas as suas restrições. Isso faz com que, para usuários com
milhares de conexões, seja demandado mais de um dia para se coletar a rede de entorno
com κ = 2.
28
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Algorithm 1 Coleta da κ-vizinhança de um usuário i do Twitter.
Require: G < V, A >
. G é o grafo, formado pelos vértices V e arestas A que vai
conter a κ-vizinhança.
Require: i, κ
1: function C OLETAR DADOS T WITTER(i, κ)
2:
if κ > 0 e i não analisado then
3:
G←i
. Acrescenta o vértice i ao grafo G.
4:
S ← O BTER S EGUIDORES(i)
. S é uma tupla com os seguidores de i.
5:
for s ∈ S do
6:
subgrafo ← C OLETAR DADOS T WITTER(s, κ − 1)
7:
adiciona o subgrafo ao grafo G
8:
end for
9:
return G
10:
else
11:
return i
. Limite da κ-vizinhança atingido, retorna somente o usuário.
12:
end if
13: end function
É importante ressaltar que nessa coleta de dados, o algoritmo pode se deparar
com usuários protegidos. Entretanto, como a parcela de usuários protegidos do Twitter é
pequena, ela é considerada desprezível e usuários nessa situação são descartados do grafo.
5.3. Análise da rede de entorno
A análise da rede de entorno se baseia em métricas de redes complexas que serão
definidas a seguir. A intuição a ser verificada é que os usuários spammers terão uma
centralidade muito superior aos dos usuários legítimos já que eles precisam aumentar o
seu número de seguidores.
• Distribuição de Grau: Para grafos direcionados pode-se avaliar o grau de entrada
e de saída, ou seja, o número de conexões que, respectivamente, entram e saem de
um determinado nó.
• Centralidade de Grau: A centralidade mais simples deriva diretamente da noção
de grau e é definida como CD (i) = deg(i), sendo CD (i) a centralidade de grau de
um nó i, dessa forma um nó é visto como mais central se possuir maior grau. Para
a centralidade será considerado o grau independente do direcionamento do grafo.
• Coeficiente de Agrupamento: O coeficiente de agrupamento de um nó revela o
quão agregados são os seus vizinhos, ou seja, quanto maior for o coeficiente de
agrupamento de um nó mais interconectados são seus vizinhos. Isso faz com que,
para o caso em que todos os vizinhos se interconectam diretamente, ocorra o máximo coeficiente de agrupamento possível e, para o caso em que não há qualquer
aresta conectando diretamente os vizinhos, ocorra o mínimo coeficiente de agrupamento possível. Define-se como sendo A(i) o Coeficiente de Agrupamento de
um nó i tal que:
|avizinhos de i |
,
(1)
A(i) =
ki (ki − 1)
onde |avizinhos de i | é o número de arestas que conecta um nó vizinho de i a outro
nó também vizinho de i e ki é o número de vizinhos de i, de forma que, ki (ki − 1)
29
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
é o número máximo de arestas que podem existir entre os vizinhos. Isso faz com
que 0 ≤ A(i) ≤ 1.
• PageRank: A métrica PageRank foi sugerida em [Page et al., 1999] para medir a
popularidade de páginas da web. Entretanto, essa métrica vem sendo aplicada nas
mais diversas redes. Ela pode ser definida em sua forma simplificada como:
X R(j)
R(i) = c
,
(2)
Nj
j∈B
i
onde R(i) é o PageRank de um nó i, Bi é o conjunto de nós que apontam para
i, Nj é o número de nós que j aponta no total e c é um fator de normalização.
A equação é definida de forma recursiva, na qual a conexão com determinado nó
possui maior relevância se o nó de origem possuir maior PageRank, e menor se
este nó possuir muitas conexões partindo de si.
6. Base de Dados
A partir da seleção de usuários, foi identificada uma base de quatro spammers e
mais dois usuários legítimos, escolhidos ao acaso dentre os disponíveis, os quais serão
usados posteriormente nas avaliações. Mesmo com a limitação da API do Twitter, as
redes analisadas, obtidas a partir de cada um dos seis nós escolhidos, totalizam juntas
mais de 22 milhões de nós. Apesar da etapa de seleção ser usada fundamentalmente para
identificação de spammers, ela foi também usada neste trabalho para obtenção de uma
base mista de usuários legítimos e spammers de modo a avaliá-los e compará-los.
Tabela 1. Spammers do Espaço Amostral.
Spammer
spammer 1
spammer 2
spammer 3
spammer 4
Seguidores
2.650
2.460
763
51
Amigos
2.632
1.136
681
477
Tweets
21.790
11.533
50
205
Tamanho da 2-vizinhança
9.473.703 nós
5.609.054 nós
326.977 nós
174.518 nós
Tabela 2. Usuários Legítimos do Espaço Amostral.
Usuário
usuário 1
usuário 2
Seguidores
9.704
165
Amigos Tweets
5.467 36.539
160
4.340
Tamanho da 2-vizinhança
6.386.160 nós
433.702 nós
Os spammers e usuários legítimos estão nomeados por ordem decrescente de tamanho da rede de entorno. É interessante notar que, mesmo o usuário 1 possuindo muito
mais seguidores que o spammer 1, a sua 2-vizinhança possui menos nós do que a 2vizinhança do spammer.
7. Avaliação
Nesta seção são avaliados os spammers e os usuários legítimos a partir das métricas definidas anteriormente. Cada um dos usuários do espaço amostral terá a sua respectiva 2-vizinhança analisada. O objetivo é observar quais características contribuem para a
distinção entre os dois tipos de usuários considerados.
30
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
7.1. Distribuição de Grau
Primeiro, são caracterizadas as diferenças em relação ao grau de entrada e saída da
2-vizinhança dos usuários. Na Figura 3, são mostradas as distribuições de grau de entrada
dos usuários spammers e legítimos. Já na Figura 4, são mostradas as distribuição de saída
também destes usuários.
104
3
Número de nós (CCDF)
Número de nós (CCDF)
104
usuário 1
10
2
10
101
usuário 2
100 0
10
1
10
2
10
3
4
10
10
Grau
5
10
10
6
10
3
10
spammer 2
2
10
101
100 0
10
7
spammer 1
(a) Usuários Legítimos.
spammer 3
spammer 4
101
102
103 104
Grau
105
106
107
(b) Usuários Spammers.
Figura 3. CCDF de Grau de Entrada dos usuários spammers e legítimos.
107
Número de nós (CCDF)
Número de nós (CCDF)
107
106
usuário 1
5
10
4
10
3
10
2
10
101
usuário 2
0
10
100
106
spammer 3
5
spammer 2
4
spammer 1
10
10
3
10
102
101
spammer 4
0
101
102
Grau
103
10
104
(a) Usuários Legítimos.
100
101
102
Grau
103
104
(b) Usuários Spammers.
Figura 4. CCDF de Grau de Saída dos usuários spammers e legítimos.
São visíveis as diferenças entre a distribuição de grau na 2-vizinhança entre spammers com número de seguidores grande e pequeno. Os que apresentam maior número de
seguidores, naturalmente, possuem sua respectiva vizinhança com mais nós. Observa-se
também que a presença de nós com maior grau é mais comum nas redes de entorno dos
usuários com maior número de seguidores.
Como era de se esperar, a distribuição de grau de entrada chega a níveis mais altos
do que a distribuição de saída. Isso se deve à forma como foi definida a κ-vizinhança, o
que levou a serem considerados somente os seguidores de cada usuário. Ao se obter os
dados, os amigos de um determinado nó são presentes no grafo somente quando foram
obtidos como seguidores de outro.
Ao se avaliar a distribuição de grau, é natural a comparação com a regra da potência, seguida pelas redes livres de escala. Sabe-se de [Kwak et al., 2010] que a distribuição
31
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
de grau do Twitter segue a regra da potência com expoente 2,276, tendo um leve desvio
para usuários com mais de 105 seguidores. Observa-se que, para o grau de entrada, nenhum dos usuários apresentou um comportamento próximo de uma reta. Por outro lado,
a distribuição de saída de alguns usuários, tanto spammers quanto legítimos se aproxima
melhor de uma reta.
7.2. Centralidade de Grau
A partir da definição de centralidade de grau (Seção 5.3) em que não são consideradas as direções das conexões, foi obtida a centralidade para cada nó da 2-vizinhança de
cada usuário, como pode ser visto na Figura 5.
107
Número de nós (CCDF)
Número de nós (CCDF)
107
106
5
usuário 1
10
4
10
3
10
102
101
usuário 2
0
10
100
106
spammer 3
5
spammer 2
10
4
10
spammer 1
103
102
101
spammer 4
0
101
102
103 104
Grau
105
106
10
107
(a) Usuários Legítimos.
100
101
102
103 104
Grau
105
106
107
(b) Usuários Spammers.
Figura 5. CCDF da Centralidade de Grau para os usuários spammers e legítimos.
Na Figura 5(b) é possível notar, mesmo em escala logarítmica nos dois eixos, que
a rede de entorno possui uma concentração muito maior de nós com centralidade de grau
menor que 100, para os spammers 1 e 2, e com a centralidade de grau menor que 10 para
os spammers 3 e 4. Isso contrasta com os usuários legítimos (Figura 5(a)), onde a CCDF
da centralidade de grau se aproxima bem melhor de uma reta.
Considerando a centralidade de grau, todas as redes de entorno dos spammers
avaliados possuem CCDF que se afasta da distribuição esperada nas redes livres de escala,
apresentando um desvio para o grau 102 (spammers 1 e 2) e para o grau 101 (spammers
3 e 4), aproximadamente. O comportamento artificial dos spammers corrompe a forma
como a rede se distribui naturalmente.
As redes livres de escala são oriundas do comportamento característico dos usuários de uma rede social. Essa característica é diferente de grafos formados somente por
interações aleatórias entre os usuários e do comportamento automático, característico de
spammers.
7.3. Coeficiente de Agrupamento
Como definido na Seção 5.3 um nó pode ter seu coeficiente de agrupamento entre
0 e 1, sendo que quanto mais perto de 1 mais agregados são seus vizinhos. A partir disso
espera-se que seja menos provável, um usuário com grau maior, possuir coeficiente de
agrupamento próximo de 1, já que isso exigiria que um número muito maior de vizinhos
se interconectasse.
32
100
10−1
−2
10
10−3
10−4
10−5
−6
10
−7
10
10−8
−9
10
0
1
2
3
4
5
6
7
10 10 10 10 10 10 10 10
Grau
Coeficiente de Agrupamento
Coeficiente de Agrupamento
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
100
−1
10
10−2
10−3
−4
10
10−5
−6
10
100
10−1
10−2
10−3
10−4
10−5
−6
10
−7
0
10
1
10
2
10
3
4
10 10
Grau
1
10
2
10
3
4
10 10
Grau
5
10
10
6
7
10
(b) Spammer 2.
Coeficiente de Agrupamento
Coeficiente de Agrupamento
(a) Spammer 1.
10
0
10
10
5
10
6
10
7
100
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8 0
10 101 102 103 104 105 106 107
Grau
(c) Spammer 3.
(d) Spammer 4.
100
Coeficiente de Agrupamento
Coeficiente de Agrupamento
Figura 6. Coeficiente de Agrupamento contra o grau dos usuários spammers.
−1
10
−2
10
10−3
−4
10
−5
10
10−6
−7
10
10
−8
100 101 102 103 104 105 106 107
Grau
(a) Usuário 1.
100
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8 0
10 101 102 103 104 105 106 107
Grau
(b) Usuário 2.
Figura 7. Coeficiente de Agrupamento contra o grau dos usuários legítimos.
O gráfico de coeficiente de agrupamento contra grau permite uma boa visualização
de como é o agrupamento na vizinhança de um usuário. As Figuras 6 e 7 mostram a
relação entre coeficiente de agrupamento e grau para os spammers e usuários legítimos,
respectivamente.
Para os dois tipos de usuários, o agrupamento e o grau parecem ter correlação
mais acentuada até aproximadamente o grau 100, para graus maiores eles tendem a ficar
33
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
descorrelacionados. No entanto, os spammers apresentaram maior descorrelação para
graus maiores em relação aos usuários legítimos avaliados.
7.4. PageRank
Como o PageRank é definido de forma recursiva, a análise do PageRank de determinado usuário depende do PageRank de todos os seus seguidores. De forma recursiva,
esses seguidores dependem dos seus respectivos seguidores e assim por diante. A rede, no
entanto, está restrita à 2-vizinhança do usuário considerado. A Tabela 3 a seguir mostra o
resultado do PageRank para os spammers e usuários legítimos avaliados.
Tabela 3. PageRank dos usuários, considerando a 2-vizinhança de cada um.
spammer 1
spammer 2
spammer 3
spammer 4
usuário 1
usuário 2
PageRank
3, 28 · 10−2
1, 74 · 10−2
14, 2 · 10−2
26, 2 · 10−2
1, 40 · 10−2
10, 6 · 10−2
PageRank Médio
2, 09 · 10−7
1, 78 · 10−7
30, 6 · 10−7
57, 3 · 10−7
1, 57 · 10−7
23, 1 · 10−7
PageRank
PageRank Médio
4
15, 7 · 10
9, 76 · 104
4, 64 · 104
4, 57 · 104
8, 92 · 104
4, 59 · 104
Como a borda da 2-vizinhança é formada por um número muito grande de usuários
sem qualquer seguidor e que seguem somente um usuário, o PageRank médio da rede se
torna muito pequeno. Nota-se também que, quanto maior a rede, menor o PageRank dos
nós envolvidos. Na forma como o PageRank foi proposto isso não é de fato um problema,
já que este é usado para comparar a popularidade de um nó em relação a outros nós da
mesma rede.
Para comparar o PageRank de usuários de redes distintas, é usada a razão entre
PageRank do usuário e o PageRank médio da rede em que ele se insere. Essa razão pode
ser vista na última coluna da Tabela 3. A partir dessa relação é possível inferir que o
usuário mais popular dentre os avaliados é o spammer 1, mesmo sendo o usuário 1 o que
tem o maior número de seguidores.
8. Tratamento Automático da Centralidade de Grau
Como visto na Seção 7.2, os spammers parecem se distanciar mais da regra da
potência, ao contrários dos usuários legítimos, que tendem a se manter próximos. Nesta
seção, é discutido um método de avaliação automático da centralidade de grau de forma
que este comportamento diferenciado possa ser mais facilmente identificado. O comportamento de uma reta em um gráfico com escala logarítmica nos dois eixos é descrito pela
Equação 3:
y = k(CD )α → log y = α log CD + log k,
(3)
sendo y a CCDF da centralidade de grau e CD a centralidade de grau. Repare que ao
aplicar log nos dois lados da equação tem-se a equação de uma reta.
Quanto mais diferente do comportamento de uma reta for a curva original, mais
a rede tem características distintas de uma rede livre de escala. Logo, mais distinta do
comportamento encontrado na rede de entorno dos usuários legítimos.
34
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Decidiu-se então fazer um ajuste linear, usando o método dos mínimos quadrados,
nas distribuições de grau encontradas. Após a determinação da reta é possível determinar
o quão próxima está a reta da curva original através do cálculo do erro, como descrito na
Equação 4:
v
u
N
u1 X
=t
σ2,
N i=1 i
Erms
(4)
sendo Erms o erro RMS da reta aproximada em relação à curva original, N o número
de pontos do intervalo de amostragem e σi o erro do ponto i. A Figura 8 exemplifica o
método no usuário 1 e no spammer 1. Para o usuário 1 o Erms resulta em 0,0477 enquanto
para o spammer 1 o Erms resulta em 70,2.
107
Ajuste Linear
106
Número de nós (CCDF)
Número de nós (CCDF)
107
105
4
10
103
102
101
0
10
10
0
10
1
2
10
3
4
10
10
Grau
10
5
10
6
10
105
104
103
102
101
100 0
10
7
(a) Usuário 1.
Ajuste Linear
106
101
102
103
Grau
104
105
106
(b) Spammer 1.
Figura 8. Ajuste Linear para o usuário 1 (Figura 8(a)) e para o spammer 1 (Figura 8(b)). É possível perceber como o erro do ajuste é muito maior para o
spammer 1 do que para o usuário 1.
9. Conclusão e Trabalhos Futuros
Este trabalho propôs a distinção entre usuários legítimos e spammers considerando
suas 2-vizinhanças. Isso foi conseguido devido à modelagem do Twitter como um grafo
direcionado, possibilitando a análise de métricas de centralidade. Constatou-se que, para
os usuários legítimos, a centralidade de grau da rede de entorno segue a regra da potência,
diferente dos spammers, cuja CCDF apresenta um grande desvio. Também foi proposta
uma forma de comparar o PageRank de usuários contidos em redes distintas, permitindo
chegar à conclusão de qual spammer era o mais popular. Foi também criado um método
automático de avaliação da centralidade de grau viabilizando a distinção entre usuários
spammers e legítimos.
Como trabalho futuro, planeja-se aumentar a acurácia da predição de algoritmos
já existentes para a detecção de spammers no Twitter ao se integrar as técnicas de análise
da vizinhança dos usuários com técnicas de análise das mensagens.
35
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Referências
Benevenuto, F., Magno, G., Rodrigues, T. e Almeida, V. (2010). Detecting spammers
on twitter. Em Collaboration, electronic messaging, anti-abuse and spam conference
(CEAS), volume 6.
Kwak, H., Lee, C., Park, H. e Moon, S. (2010). What is twitter, a social network or a news
media? Em Proceedings of the 19th international conference on World wide web, p.
591–600. ACM.
Messias, J., Schmidt, L., Oliveira, R. e Benevenuto, F. (2013). You followed my bot!
transforming robots into influential users in twitter. First Monday, 18(7).
Page, L., Brin, S., Motwani, R. e Winograd, T. (1999). The pagerank citation ranking:
bringing order to the web.
Phe-Neau, T., Campista, M. E. M., De Amorim, M. D., Conan, V. et al. (2013). Padrões
de mobilidade de vizinhança em redes de contato intermitente. Em Simpósio Brasileiro
de Redes de Computadores e Sistemas Distribuídos (SBRC 2013).
Stringhini, G., Kruegel, C. e Vigna, G. (2010). Detecting spammers on social networks.
Em Proceedings of the 26th Annual Computer Security Applications Conference.
ACM.
Stringhini, G., Wang, G., Egele, M., Kruegel, C., Vigna, G., Zheng, H. e Zhao, B. Y.
(2013). Follow the green: growth and dynamics in twitter follower markets. Em
Proceedings of the 2013 conference on Internet measurement conference, p. 163–176.
ACM.
Taveira, D. M., Mattos, D. M. F. e Duarte, O. C. M. B. (2008). Ferramenta para analise
de caracteristicas de spams e mecanismos anti-spam. Em Salão de Ferramentas do
Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC 2008).
Thomas, K., Grier, C., Song, D. e Paxson, V. (2011). Suspended accounts in retrospect:
an analysis of twitter spam. Em Proceedings of the 2011 ACM SIGCOMM conference
on Internet measurement conference, p. 243–258. ACM.
Thomas, K., McCoy, D., Grier, C., Kolcz, A. e Paxson, V. (2013). Trafficking fraudulent
accounts: the role of the underground market in twitter spam and abuse. Em USENIX
Security Symposium.
36
32º Simpósio Brasileiro de Redes de Computadores e
Sistemas Distribuídos
Florianópolis - SC
IX Workshop de Redes P2P,
Dinâmicas, Sociais e Orientadas a
Conteúdo (Wp2p+)
Sessão Técnica 2
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Extração de Propriedades Sociais em Redes Veiculares
Felipe Cunha13 , Aline Viana3 , Thiago Rodrigues2 , Raquel Mini2 , Antonio Loureiro1
1
2
DCC – Universidade Federal de Minas Gerais
DCC – Pontifı́cia Universidade Católica de Minas Gerais
3
INRIA - Saclay - France
{fdcunha, loureiro}@dcc.ufmg.br, [email protected]
[email protected], [email protected]
Abstract. Everyday, vehicles perform routes in a city and along of their trajectories they encounter other vehicles. The frequency of these encounters is
influenced by many factors, such as: vehicle speed, destinations, traffic conditions, and the period of the day. However, these factors are justified by the public
roads limits and the driver’s behavior. The people present daily routines and
similar behaviors that have a great impact in the daily traffic evolution. In this
work, we present a numerical analysis of real and realistic traces data set that
describe the mobility of a set of vehicles. Social metrics are computed, and the
results obtained are compared to random graphs in the direction to attest that
Vehicular Network presents a social behavior. Results show the existence of routines and social properties in Vehicular Networks. Finally, we discuss about new
social perspectives in Vehicular Networks.
Resumo. Todos os dias, veı́culos transitam nas cidades e durante suas trajetórias encontram outros veı́culos. A frequência destes encontros pode ser influenciada por diversos fatores como: a velocidade dos veı́culos, os destinos
escolhidos, as condições de tráfego e o perı́odo do dia. Entretanto, estes fatores são justificados pelos limites das vias públicas e pelo comportamento dos
motoristas. Os comportamentos similares dos motoristas e suas rotinas diárias
têm um grande impacto na evolução do tráfego diariamente. Neste trabalho, é
apresentada uma análise numérica de traces reais e realı́sticos que descrevem a
mobilidade de um conjunto de veı́culos. Para isso, métricas sociais são computadas e os resultados obtidos são comparados com grafos aleatórios na direção
de atestar que as Redes Veiculares apresentam comportamento social. Os resultados comprovam a existência de rotinas e propriedades sociais nas Redes
Veiculares. Finalizando, discute-se sobre novas perspectivas sociais em Redes
Veiculares.
1. Introdução
As Redes Veiculares (Vehicular Networks - VANETs) são um tipo especial de redes adhoc, formadas por veı́culos que possuem capacidade de processamento e comunicação
sem fio, transitando por ruas e rodovias. Geralmente, esses veı́culos podem se comunicar
diretamente ou pelo uso de pontos de acesso (RSUs). Através das RSUs pode-se ter acesso
e obter dados de outras redes, como por exemplo a Internet. Devido a esta natureza, as
redes veiculares podem estabelecer a comunicação em diferentes ambientes, como centros
urbanos e rodovias [Boukerche et al. 2008].
39
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Essas redes são propostas para ajudar motoristas com o trânsito, para evitar colisões com a emissão de alertas, para prover entretenimento para motoristas e passageiros,
e também para criar um sistema de tráfego inteligente. Uma importante aplicação é a
emissão de alertas para os motoristas, com informações acerca das condições das rodovias e perigos de colisões iminentes. Estudos recentes mostram que 60% dos acidentes
de veı́culos podem ser evitados se os condutores forem avisados segundos antes da colisão [Faezipour et al. 2012]. Assim, uma interação entre os veı́culos pode contribuir
fortemente para a disseminação de uma mensagem de alerta, e consequentemente reduzir
o número de acidentes [Schoch et al. 2008]. Outro exemplo de aplicações é o auxı́lio aos
condutores, com o objetivo de fornecer um melhor caminho. Com isso, é importante que
essas redes monitorem e prevejam as condições de tráfego com sugestões de mudanças de
rota, para evitar engarrafamentos e assim, reduzir o tempo da viagem [Tostes et al. 2013].
Nestas redes a comunicação é altamente influenciada pela densidade de veı́culos
e os padrões de mobilidade dos mesmos. Veı́culos se movem e param de acordo com
os limites de velocidade e direção impostos pelas vias públicas. Entretanto, o perı́odo
do dia também pode influenciar na mobilidade. Em horários de pico, o tráfego pode ser
mais lento, com engarrafamentos; o que força o motorista a parar o veı́culo ou mudar a
sua rota. Em contrapartida, os finais de semana, feriados e madrugadas são perı́odos nos
quais o tráfego é ocioso. Esta variação de densidade nos horários reforça a caracterı́stica
dinâmica das redes veiculares, tornando a comunicação uma tarefa desafiadora.
A mobilidade também é influenciada pelo comportamento do motorista e sua rotina. Durante os finais de semana, destinos como: sı́tio, fazenda, igreja e centros comerciais são escolhidos para lazer e entretenimento, e são frequentemente visitados. Nos dias
de semana, um comportamento contrário é observado. Pessoas repetem seus caminhos
diariamente, nos mesmos perı́odos, para os mesmos destinos como: escolas, trabalhos,
universidades, restaurantes, etc. Durante suas trajetórias encontram com outros veı́culos,
atravessam as mesmas vias e estão sujeitas as mesmas condições de tráfego. Estas caracterı́sticas sugerem o estudo da mobilidade veicular sob uma perspectiva social, com
o intuito de entender melhor sua evolução e de aplicar os conceitos sociais obtidos para
melhorar as aplicações e a conectividade em redes veiculares.
Nesta direção, o objetivo deste trabalho é o de investigar a seguinte questão:
Quais são as caracterı́sticas que uma rede veicular precisa apresentar para comprovar
existência de um comportamento social? Assim, este trabalho apresenta uma análise
social de duas bases de dados (traces) que têm caracterı́sticas de diferentes grupos de
veı́culos. A primeira base é realı́stica e contém registros de dados de veı́culos durante
uma rotina diária. A segunda base é real e contém registros da mobilidade de táxis durante
um mês. Esta análise será efetuada a partir do registro de movimento dos veı́culos e seus
encontros, modelados como grafos temporais. Nestes grafos serão computadas métricas
que certifiquem a existência de propriedades sociais. Para melhorar a compreensão dos
resultados e tornar a análise consistente, algumas métricas serão calculadas também em
grafos aleatórios, que serão gerados com a mesma quantidade de vértices e distribuição
de graus dos grafos temporais. Finalizando, serão apresentados cenários e situações nos
quais a aplicação das métricas sociais em redes veiculares é relevante.
O restante do trabalho está organizado da seguinte forma. A Seção 2 apresenta
um breve resumo dos trabalhos relacionados relevantes da literatura. A Seção 3 descreve
40
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
a metodologia utilizada para avaliação das bases de dados. A Seção 4 apresenta as bases
de dados utilizadas e os resultados quantitativos, de acordo com cada métrica avaliada.
Completando, a Seção 5 expõe as conclusões finais e perspectivas futuras.
2. Trabalhos Relacionados
“As redes de computadores são inerentemente redes sociais, ligando as pessoas,
organizações e conhecimento” [Wellman 2001]. Nesta perspectiva, o conceito de redes
sociais tem sido explorado em diferentes tipos de redes de computadores, principalmente
para melhor entender a evolução da topologia e para analisar os encontros fı́sicos dos
nós, com o objetivo de melhorar o desempenho dos protocolos de comunicação [Scott
2000, Hossmann et al. 2009].
Entretanto, em redes veiculares, as análises sociais podem ser usadas para monitorar a evolução do tráfego durante o dia, objetivando o conhecimento das rotinas dos
usuários, identificando trajetórias similares e horários de pico. O objetivo dessas análises
é melhorar e adaptar os serviços providos neste tipo de rede. Considerando o comportamento social, em [Fiore and Härri 2008], Fiore et al. apresentam uma análise detalhada
das propriedades topológicas de uma rede veicular. Os autores usam métricas sociais
para investigar a evolução temporal da topologia da rede. Resultados mostraram que é
possı́vel tirar vantagem da mobilidade veicular para melhorar o desempenho dos protocolos de rede. Contudo, os autores efetuam a análise se baseando apenas em modelos de
tráfego analı́ticos, conhecidos na literatura.
Neste mesmo contexto, em [Loulloudes et al. 2010], os autores discutem como
as métricas sociais podem ser empregadas para melhorar o desempenho dos protocolos
de roteamento em redes veiculares. A análise, entretanto, é baseada em um curto perı́odo
de 2 horas. Acredita-se que um curto perı́odo de observação não é suficiente para extrair
comportamentos sociais de uma mobilidade veicular. Outra análise social é apresentada
em [Liu et al. 2012]. Este trabalho discute diversas leis universais das redes sociais e
apresenta uma análise numérica de uma real base de dados. Os autores escolheram duas
bases públicas: São Francisco e Shanghai, que descrevem os movimentos de táxis. As
métricas sociais foram estimadas e os resultados mostraram a existência de rotinas sociais
em VANETs, comprovando as leis de potência para a distribuição de graus e o fenômeno
small world. Este trabalho considera apenas a mobilidade da base de dados de táxis e a
avalia somente as métricas sociais, sem verificar a existência de rotinas.
Em [Uppoor and Fiore 2012] também é apresentado uma análise de base de dados
de veı́culos. Entretanto os autores se atêm apenas no estudo e classificação das trajetórias
diárias dos condutores. A base de dados avaliada foi da cidade de Cologne e os autores
a caracterizaram de forma macro e microscópica. Como macroscópica, com a análise da
evolução da densidade de o dinamismo dos fluxos de veı́culos entre as regiões na cidade.
E microscópica, com a análise da distribuição de veı́culos por área e a quantidade de
encontro entre eles. Contudo, esta análise não considera aspectos sociais e tampouco a
interação entre os veı́culos.
Como estudo inicial, em [Cunha et al. 2013], apresentamos uma avaliação de
métricas sociais em base de dados de veı́culos com duração de 24 horas. Esta avaliação
apresentou a existência de rotinas sociais e comportamentos similares em redes veiculares.
Porém, este estende e aprimora o estudo com a análise de bases de dados com longa
41
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
duração. Os resultados obtidos com esta avaliação serão comparados com resultados
das métricas aplicadas a grafos aleatórios. Além disso, também será indicado possı́veis
serviços e protocolos das redes veiculares que poderão fazer uso destas métricas para
alcançar melhorias de desempenho.
3. Metodologia
Nesta seção serão apresentados os detalhes da metodologia usada em toda a avaliação
das bases de dados. A execução desta avaliação consiste na construção de grafos que
representam as interações entre os veı́culos e o cálculo das métricas sociais. Assim, nas
seções a seguir serão descritas as suposições feitas na construção dos grafos temporais e
randômicos e a definição das métricas avaliadas.
3.1. Grafos Temporais
O modelo utilizado para construção dos grafos temporais considera a existência de duas
arestas entre os vértices quando dois veı́culos tiveram um encontro, isto é, um veı́culo
está localizado fisicamente dentro do raio e comunicação do outro. Nessa avaliação o raio
de comunicação considerado foi de 100 metros, de acordo com o protocolo 802.11p e o
cenário de centros urbanos. Conforme padronização entre as bases avaliadas, a velocidade
média dos veı́culos foi de 25 km/h. Assim, de acordo com esta velocidade e o raio de
comunicação, os registros de posição dos veı́culos são analisados. Sempre que houver
dois veı́culos próximos e a diferença do registro de data/hora entre eles for de 15 s., um
encontro será registrado no grafo.
O grafo então é definido considerando os encontros que aconteceram hora-a-hora.
O grafo no instante t é unidirecional e pode ser definido como um grafo G(t) = (V, E),
onde V representa o conjunto de veı́culos com todos veı́culos vi e E representa o conjunto
de arestas. O grafo G é temporal, no qual uma aresta eij (t) existe entre dois veı́culos vi
e vj somente durante o tempo t, com i̸=j. Todas as métricas foram avaliadas de hora em
hora, considerando o grafo tempo G(t).
3.2. Grafos Aleatórios
Um grafo aleatório é um grafo obtido a partir de um conjunto de vértices V e sua respectiva distribuição de graus. A adição de arestas no grafo GR é feita de forma aleatória,
baseado em modelos de probabilidade. Neste trabalho, o processo de construção dos
grafos aleatórios GR baseia-se no algoritmo de urna, usado na geração de estruturas
aleatórias [Johnson and Kotz 1977]. Nele, o primeiro passo consiste na inserção de di
“bolas” em uma urna, marcadas com o identificador i do vértice, de forma que di corresponde ao grau do vértice i. Feito isso para todos os vértices, duas bolas bi e bj são
retiradas de forma aleatória e seus identificadores são verificados. Se i̸=j e não existe
aresta entre esses dois vértices, uma aresta então será inserida. Esse processo é repetido,
até que não exista nenhuma bola na urna ou não seja possı́vel conectar os vértices presentes na urna. Assim, quando não for possı́vel conectar os vértices, haverá uma diferença
entre o número de arestas do grafo original G e GR . A diferença permitida pelo processo
poderá ser de até 0.001%, que não compromete a avaliação. A partir deste algoritmo foram gerados grafos aleatórios GR para cada grafo temporal G(t) analisado, nos quais as
métricas também serão computadas.
42
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
3.3. Métricas
As métricas sociais escolhidas para avaliação serão descritas, considerando os aspectos
e caracterı́sticas da mobilidade dos veı́culos. Quanto a mobilidade dos veı́culos, pode-se
classificar as caracterı́sticas em macroscópicas e microscópicas [Uppoor and Fiore 2012].
Nesse contexto, o trabalho estende essa classificação para as métricas sociais, dividindoas de acordo com o que cada uma representa no grafo. As métricas macroscópicas representam medidas do estado global da rede, as quais podem retratar um comportamento
geral de todos os veı́culos e da evolução do grafo temporal. As métricas microscópicas
definem valores individuais os veı́culos, representando o comportamento de um único
veı́culo. Para as métricas macroscópicas foram escolhidas a Distância, a Densidade, o
Diâmetro e a Persistência das Arestas. Como métricas microscópicas foram selecionadas
o Grau do Vértice, o Coeficiente de Agrupamento e Centralidade de Proximidade. Todas
as métricas escolhidas são conhecidas na literatura e comumente utilizadas em trabalhos
de avaliação de aspectos sociais em grafos.
3.3.1. Métricas Macroscópicas
Distância: esta é uma métrica que compreende o tamanho do caminho entre um par de
veı́culos, em termos do número de saltos necessários. Em redes veiculares, a distância
pode representar a existência de um interesse comum entre condutores. Se a distância entre os veı́culos vi e vj é grande, isto implica em dizer que eles estão fisicamente distantes,
fora do raio de alcance, e provavelmente não visitam lugares próximos. Caso contrário,
se a distância é pequena, vi e vj podem visitar lugares próximos ou possuem pontos em
comum ao longo de sua rota. Geralmente, grafos com o comportamento de small world
possuem curta distância.
Diâmetro: pode-se definir o diâmetro de um grafo como a maior distância entre quaisquer
pares de nós. Considerando as redes veiculares, um grafo com muitos veı́culos e um
pequeno diâmetro, pode indicar existência de pontos de interesse em comum entre esses
veı́culos ou também a possibilidade de engarrafamentos. Em contrapartida, um grande
diâmetro pode indicar a não existência de similaridade na rotina dos motoristas. Além
disso, um diâmetro maior pode acarretar o custo na comunicação, com mais atrasos entre
a origem e o destino, devido à quantidade de saltos que a informação fará.
Densidade: representa o quão densa é a rede, isto é, a quantidade de conexões existentes
entre os veı́culos. No contexto das redes veiculares, regiões urbanas podem ter uma alta
densidade que regiões periféricas ou rurais. Em grandes centros urbanos, a densidade
tende a ser elevada devido ao tráfego lento e a existência de engarrafamentos. Esta métrica
pode ser computada pela razão entre o número de arestas existentes no grafo e(t) e o
número de arestas de um grafo completo |V ||V − 1|/2.
Persistência de Arestas: é uma métrica que representa a persistência de um encontro
entre dois veı́culos. Esta análise considera persistência de arestas o número de vezes que
o veı́culo vi e vj se encontram durante o tempo. Para isso, computa-se essa métrica em
função do peso da aresta que representa o número de vezes que o encontro eij (t) acontece.
43
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
3.3.2. Métricas Microscópicas
Grau do Vértice: determinar o número de encontros distintos que um veı́culo teve durante
um perı́odo. Esta métrica pode ser influenciada pela trajetória do veı́culo e pelo perı́odo do
dia. Se um veı́culo cruza uma região de alta densidade ou em horário de pico, o seu grau
tende a ser elevado. De outra forma, em regiões afastadas do centro da cidade ou em horas
de baixo tráfego, o grau pode ser baixo e até nulo. Como uma definição formal, o grau de
um veı́culo vi no tempo t pode ser definido pela expressão: Graui (t) = ||{vj |∃eij (t)}||.
Coeficiente de Agrupamento (cluster coefficient): esta métrica pode avaliar o quão
próximo estão os vizinhos de um veı́culo vi no grafo, isto é, a probabilidade que dois
vizinhos do veı́culo vi tem de se encontrem. Esta métrica pode representar regiões de
engarrafamento, quando o coeficiente é alto. Além disso, se a rede apresenta o fenômeno
small world, seu coeficiente de agrupamento deve ser elevado [Watts and Strogatz 1998].
Centralidade de Proximidade (closeness centrality): esta métrica mensura a centralidade
de um veı́culo em relação a sua distância para os demais veı́culos do grafo. O quão mais
central for o veı́culo, menor será a sua distância para os demais. Apesar de ser uma
métrica global, seu valor também pode representar a centralidade da rota de um veı́culo
em relação aos demais. Possivelmente, veı́culos que trafegam mais em áreas centrais
tendem a ter um valor baixo de centralidade.
4. Resultados
Esta seção apresenta os resultados da análise efetuada sob as bases de dados. A Seção 4.1
descreve as caracterı́sticas de cada base de dados avaliada. A Seção 4.2 apresenta os
resultados para as métricas macroscópicas e a Seção 4.3 apresenta os resultados para as
métricas microscópicas de acordo com a definição na Seção 3.3.
4.1. Traces Avaliados
Foram analisadas duas bases de dados públicos (traces), que descrevem a mobilidade de
veı́culos. A primeira base de dados é uma base realı́stica, no qual os dados foram gerados
baseados em modelos matemáticos que consideram informações de tráfego da cidade de
Zurich [Naumov et al. 2006]. Esta base de dados representa a evolução do tráfego urbano
durante um dia, incluindo a variação de horários de pico e madrugadas. São informações
geradas por um simulador, e contém detalhes de destinos dos veı́culos e a velocidade
empregada para efetuar o trajeto. Pode-se ver essa variação do tráfego na Figura 1-(a).
Nota-se que existem dois intervalos de tempo os quais apresentam uma grande quantidade
de veı́culos, chamados de horários de pico: 6 − 9am e 2 − 5pm. Toda a base de dados
descreve o movimento de 260.000 veı́culos, com a concentração de veı́culos nos horários
de pico: 173.470 veı́culos às 7am, e 132.633 veı́culos às 3pm. Essa base de dados foi
analisada considerando todo o dia, com o destaque para os horários de pico, de acordo
com cada métrica.
A segunda base de dados avaliada é uma base real, que contém o registro de mobilidade de 551 táxis na cidade de São Francisco (EUA) durante quatro semanas [Piorkowski
et al. 2009]. São registros reais, coletados por dispositivos GPS localizados em cada
veı́culo, minuto-a-minuto, durante sua trajetória. É possı́vel observar a distribuição de
veı́culos durante os dias da semana e finais de semana, respectivamente, nas Figuras 1-(b)
44
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
e 1-(c). Pode-se verificar nos dois gráficos um tráfego menos intenso durante a madrugada. Entretanto, durante os finais de semana o decaimento da quantidade de táxis em
circulação é menor. Isso pode ser atribuı́do ao fato das pessoas permanecerem na rua até
mais tarde, tendo mais eventos noturnos. Durante a semana é possı́vel verificar o inı́cio
das jornadas diárias de circulação dos veı́culos, com o crescimento da curva a partir das
6am. Além disso, percebe-se um comportamento constante na quantidade de veı́culos,
com mais de 400 táxis em circulação durante todo o dia. Devido a esse comportamento,
nesta base, as métricas foram calculadas considerando os cenários: dias da semana e finais
de semana.
120*10
3
90*10
3
60*10
3
30*10
3
0am
6am
12am
6pm
Período do Dia(h)
(a) Zurich.
12pm
500
Número de Veículos
3
Número de Veículos
Número de Veículos
500
150*10
400
300
200
100
0
0am
6am
12am
6pm
Período do Dia(h)
400
300
200
100
0
0am
6am
12am
6pm
Período do Dia(h)
(b) São Francisco (dias (c) São Francisco (finais
da semana).
de semana).
Figura 1. Distribuição do Tráfego durante o dia.
Nas seções a seguir serão apresentados os resultados numéricos para cada métrica
avaliada em cada uma das bases de dados. Com o efeito de comparação, deve-se lembrar
de que alguns resultados serão apresentados com o seu valor correspondente computado
para grafos aleatórios. Esses grafos foram gerados com o mesmo número de vértices e a
mesma distribuição de graus para cada perı́odo do dia.
4.2. Métricas Macroscópicas
Nesta seção serão descritos os resultados para as métricas que retrata a estrutura global
do grafo, e que no contexto veicular, conseguem capturar informações de como o comportamento de todos os veı́culos pode influenciar nessa estrutura e por consequência na
mobilidade.
Distância:
Ao analisar a distância entre dois vértices num grafo, é importante lembrar neste caso que
a distância considera o número médio de arestas que conectam dois vértices, sem considerar o peso das arestas. Numa rede veicular, esta métrica pode representar se dois veı́culos
frequentam ou não o mesmo lugar, isto é, veı́culos que possuem rotinas similares tendem a apresentar distância curta entre eles. Em compensação, veı́culos que transitam em
horários diferentes, ou atravessam regiões distantes, tendem a possuir longas distâncias
para os demais. O gráfico na Figura 2 apresenta a média da distância para as duas bases
analisadas.
Na Figura 2-(a) verifica-se a distância na base de Zurich. Nos horários nos quais
não existe tráfego a distância foi considerada 0. Entretanto, nos demais horários é possı́vel
observar o aumento do valor da distância quando há mais tráfego. Todavia, esse aumento
não é tão expressivo, pois, apesar do tráfego intenso, existem pontos congruentes de rotas
nas regiões centrais, o que tende a manter o valor da distância baixo, considerando que
novos encontros entre os veı́culos acontecerão. Ao analisar o comportamento da curva
45
6
4
2
0
0am
6am
12am
6pm
Período do Dia(h)
(a) Zurich.
12pm
São Francisco
Aleatório
Número de Saltos
Zurich
Aleatório
Número de Saltos
Número de Saltos
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
3
2
1
0
0am
6am
12am
6pm
Período do Dia(h)
12pm
São Francisco
Aleatório
3
2
1
0
0am
6am
12am
6pm
Período do Dia(h)
12pm
(b) São Francisco (dias (c) São Francisco (finais
da semana).
de semana).
Figura 2. Evolução da Distância durante o dia.
para os grafos aleatórios, é possı́vel verificar que uma distância menor em alguns horários.
Devido à forma de geração, a inserção de algumas arestas pode ter criado atalhos no grafo,
reduzindo a distância média entre os vértices. De diferente maneira, nas Figuras 2-(b) e
2-(c), pode-se observar o comportamento da distância para a base de São Francisco. Notase um pequeno aumento na distância no momento de pouco tráfego de táxis nas ruas.
Esse comportamento é esperado pois, com a redução de veı́culos a tendência também é
reduzir os encontros, o que reflete no valor da distância. Nos demais horários, a distância
apresenta um comportamento constante, próximo de 1. Desta forma, a comparação com
grafos aleatórios não apresentou variações. Para a base de Zurich pode-se constatar o
fenômeno small world: um grande número de vértices no grafo com pequena distância
entre eles. Entretanto, devido a estrutura do grafo, não é possı́vel verificar o mesmo
comportamento para a base de São Francisco.
Diâmetro:
Em concordância com a métrica distância, o diâmetro do grafo consegue capturar a maior
distância entre dois vértices do grafo. Desta forma, com essa métrica é possı́vel verificar
maiores detalhes da estrutura topológica do grafo e entender melhor a evolução da mesma.
Importante lembrar que a avaliação dessa métrica só é possı́vel se o grafo for conexo.
Caso contrário, o diâmetro representará a maior distância entre dois vértices, dentre os
componentes do grafo. Para as redes veiculares, um grafo G(t) com muitos vértices e um
diâmetro pequeno pode indicar a ocorrência de engarrafamentos, ou mesmo a existência
de uma grande similaridade de rotas entre os veı́culos para o instante analisado. Neste contexto, um grafo G(t) com poucos vértices e um grande diâmetro, pode indicar a existência
de tráfego periférico com veı́culos possuindo rotas com poucos encontros e pouca similaridade de comportamento. Além disso, ao considerar o custo de comunicação, um grande
diâmetro pode acarretar num aumento de custo para transmissão, sendo necessário mais
saltos para a informação alcançar o destino.
A Figura 3 apresenta a evolução do valor do diâmetro durante o dia. Pode-se
observar para a base de Zurich (Fig. 3-(a)) que o valor diâmetro sofre uma redução nos
horários de pico. Isso ocorre, pois nestes horários os encontros nas regiões centrais são
mais frequentes. Para a base de São Francisco (Fig. 3-(b) e 3-(c)) pode-se observar
um comportamento semelhante com o aumento do diâmetro nos horários de redução de
tráfego. Nesse perı́odo, com a redução do trânsito de veı́culos nas ruas, a probabilidade
de encontro também reduz e a distância entre os mesmos se torna maior.
46
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
14
7
0
0am
6am
12am
6pm
Período do Dia(h)
5
4
4
3
2
1
0
0am
12pm
(a) Zurich.
5
Diâmetro(Saltos)
Diâmetro(Saltos)
Diâmetro(Saltos)
21
6am
12am
6pm
Período do dia(h)
3
2
1
0
0am
12pm
6am
12am
6pm
Período do dia(h)
12pm
(b) São Francisco (dias (c) São Francisco (finais
da semana).
de semana).
Figura 3. Evolução da Diâmetro durante o dia.
Densidade:
Na análise desta métrica é avaliada a densidade global de um grafo. Ela representa os
encontros que aconteceram durante um dia e a Figura 4 apresenta sua evolução. A primeira percepção possı́vel nesta figura é quando se compara a evolução diária das duas
bases. Táxis normalmente estão em circulação sempre e veı́culos particulares tem rotinas
mais definidas. A Figura 4-(a) apresenta a densidade para a base de dados de Zurich.
Pode-se constatar que, devido ao cenário, essa base apresenta uma densidade baixa. E seu
valor não excede 2% durante todo o dia. Isto acontece pois, veı́culos estão sempre sujeitos a restrições de velocidade e direção das vias públicas e, neste contexto, podem estar
próximos mas não acontecerão o contato. Outro fator que pode influenciar a existência de
encontros é o engarrafamento. Este limita a velocidade do veı́culo e muitas vezes obriga
o motorista a optar por atalhos, o que impede a existência de outros encontros.
3
2
1
0am
6am
12am
6pm
Período do Dia(h)
(a) Zurich.
12pm
Densidade de Arestas(%)
Densidade de Arestas(%)
Densidade de Arestas(%)
Para o trace de São Francisco, a Figura 4-(b) e 4-(c) apresenta respectivamente a
evolução para os dias da semana e finais de semana. Nota-se que durante o dia a densidade
permanece superior a 80% e durante a madrugada esse valor reduz para 60%. Isso ocorre
pois o número de viagens feitas por um táxi durante o dia é maior e também, por haver um
maior número de táxis em circulação, a probabilidade de ocorrer encontros é maior. Em
contrapartida, na madrugada, pela redução de táxis em circulação e a própria ociosidade
de corridas neste horário, contribui para a redução da quantidade de encontros. Quando
se compara os dois gráficos, nota-se uma pequena diferença na densidade entre os dias
da semana e os finais de semana. Essa diferença pode ser atribuı́da à escolha de destinos
nos finais de semana. Por serem destinos mais variados, a tendência é que ocorra uma
redução na probabilidade de encontro entre os táxis.
100
80
60
40
20
0
0am
6am
12am
6pm
Período do Dia(h)
12pm
100
80
60
40
20
0
0am
6am
12am
6pm
Período do Dia(h)
12pm
(b) São Francisco (dias (c) São Francisco (finais
da semana).
de semana).
Figura 4. Evolução da Densidade durante o dia.
Persistência de Arestas:
Neste trabalho, persistência de arestas descreve a quantidade de vezes que o par de ares-
47
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
tas de repete ao longo do tempo, ou seja, se um encontro entre dois veı́culos se repete.
Entretanto, devido as diferentes durações das bases de dados, avaliamos a persistência de
duas formas. No cenário de Zurich, a persistência é mensurada considerando os horários
de pico, nos quais a concentração de veı́culos é maior. Desta forma foi possı́vel capturar
os encontros que acontecem no inı́cio do dia e que se repetem no final do dia. Para o
trace de São Francisco, consideramos a persistência dia-a-dia, no mesmo horário. Com
a avaliação dessa métrica, o foco é verificar nas duas bases de dados a porcentagem de
veı́culos que possuem o comportamento similar, isto é, passam pelos mesmos locais e se
encontram com frequência.
Para a base de dado de Zurich, no inı́cio do dia (6 − 9am.), o grafo possui 376.245
arestas e no final do dia (2 − 5pm.) o grafo possui 338.513 arestas. A persistência de
arestas para esta base foi de 43% das arestas, isto é, aproximadamente 150.000 arestas
se repetem, o que indica uma parte expressiva de veı́culos tem o comportamento semelhante na cidade, com a mesma rotina. Para a base dados de São Francisco também foi
considerado os horários de maior quantidade de veı́culos em circulação, que começa a
acontecer a partir das 6am. Nesse momento, a quantidade de veı́culos permanece superior
a 400 táxis e a quantidade de arestas em média no grafo é de 60.000 arestas. Assim, com
a porcentagem de 75%, a persistência de arestas para a base de São Francisco é maior.
Apesar de serem veı́culos que trafegam para destinos diversos, táxis tendem a voltar para
o seu ponto de partida, no qual aguardam novos passageiros. Além disso, esses pontos
normalmente são fixos, o que aumenta a probabilidade de encontrar os mesmos veı́culos.
Este é um bom indicativo para comprovar a existência de comportamento social no grafo
e também que as rotinas exercem uma forte influência na definição do tempo de viagem e
nas trajetórias.
4.3. Métricas Microscópicas
Grau do Vértice:
Quando avaliamos o grau do vértice numa rede veicular, é importante lembrar que durante o dia a densidade de tráfego sofre variações e consequentemente a quantidade de
encontros que um veı́culo faz é influenciada pela quantidade de veı́culos em circulação.
O gráfico na Figura 5 representa a evolução do grau dos vértices para a base de dados de
Zurich. Nota-se na Figura 5-(a), que o valor do grau acompanha a ocorrência dos horários
de pico, e observa-se também um aumento para o grau médio, mediano e máximo. Durante os horários de pico, como às 7am., é o momento de maior valor para o grau 1.355, o
que representa a existência de veı́culos que fazem viagens em regiões com alta densidade
de tráfego e que fazem viagens maiores. O mesmo comportamento pode ser observado
durante às 3pm. com altos valores de grau. Contudo, o valor do grau mediano também
apresenta um pequeno aumento, acompanhando o aumento de tráfego, com valores de
200 para o grau em horários de pico. Estes são valores aceitáveis, pois com o aumento de
tráfego é esperado a ocorrência de mais encontros.
Muitas redes sociais são consideradas como livres de escala, e uma das caracterı́sticas destas redes é que a sua distribuição de graus segue uma lei de potência [Newman 2005], poucos vértices com grau alto e muitos vértices com grau baixo. Nas Figuras 5-(b) e 5(c) pode-se observar essa distribuição para os dois horários com maior
fluxo de veı́culos às 7am. e 3pm. em escala logarı́tmica. Nestes horários, encontra-se
48
Grau do Nó
Quantidade de nó
Média
Max
Mediana
1600
1200
800
400
0
0am
6am
12am
6pm
Período do Dia(h)
12pm
10
4
10
3
10
2
10
1
10
0
10
Quantidade de nó
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
0
(a) Durante o dia.
10
1
2
10
Grau do nó
10
3
10
4
10
4
10
3
10
2
10
1
10
0
10
0
(b) 7am.
10
1
2
10
Grau do nó
10
3
10
4
(c) 3pm.
Figura 5. Evolução do grau do vértice durante o dia.
em circulação aproximadamente 100.000 veı́culos e as curvas nos gráficos mostram um
comportamento bem próximo de uma lei de potência; poucos veı́culos com alto grau, e
uma maior quantidade de veı́culos com valores menores de grau, próximo a 102 .
500
500
400
400
Grau do Nó
Grau do Nó
Para a base de dados de São Francisco, os gráficos nas Figuras 6-(a) e 6-(b), apresentam os valores pra dias da semana e finais de semana respectivamente. Nos perı́odos
entre os horários de 5am - 7am, observa-se uma redução do grau dos vértices devido a
quantidade de veı́culos transitando e a redução dos encontros. Além disso, percebe-se
em conformidade com a densidade, que o valor médio de grau é bem elevado, levando
a entender que nos horários de grande tráfico, praticamente todos os veı́culos se encontram. Quando analisa o comportamento durante o dia, percebe-se também uma tendência
constante para esse valor, sempre acima de 450 encontros médios por veı́culo.
300
200
Média
Max
Mediana
100
0
0am
300
200
Média
Max
Mediana
100
0
0am
6am
12am
6pm
Período do Dia(h)
6am
12am
6pm
Período do Dia(h)
(a) São Francisco (dias (b) São Francisco (finais
da semana).
de semana).
Figura 6. Evolução do Grau do Vértice durante o dia.
2
10
1
10
0
10
0
10
1
10
Grau do nó
(a) 6am.
2
10
3
10
2
10
1
10
0
10
Quantidade de nó
10
Quantidade de nó
Quantidade de nó
A Figura 7 apresenta a distribuição de graus para três momentos do dia, às 6am,
12am e 6pm (Fig. 7-(a), 7-(b) e 7-(c)). Pode-se notar que, com o decorrer do dia, os
veı́culos se encontram com maior frequência. Principalmente no horário de 6pm, quando
têm-se todos os veı́culos com graus entre 102 e 103 . Além disso, esses não é possı́vel
constatar um comportamento leis de potência para esse padrão de mobilidade.
0
10
1
10
Grau do nó
2
(b) 12am.
10
3
10
2
10
1
10
0
10
0
10
1
10
Grau do nó
2
10
3
(c) 6pm.
Figura 7. Evolução do Grau do Vértice para diferentes horários.
49
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Coeficiente de Agrupamento:
O coeficiente de agrupamento é uma métrica muito importante para análise numa rede
social, pois com essa métrica é possı́vel mensurar a organização do grafo e mensurar
o quão próximo os vizinhos estão de um veı́culo. No contexto de uma rede veicular,
o coeficiente de agrupamento pode representar os veı́culos na mesma direção, que tem
interesses em comum ou que passam pelo mesmo lugar com frequência, isto é, um grupo
de veı́culos que encontram em algum ponto da trajetória. A Figura 8 apresenta o valor
para o coeficiente de agrupamento máximo, médio e mediano e a sua devida comparação
com os grafos aleatórios durante o dia. Nota-se na Figura 8-(a) que o valor máximo do
coeficiente de agrupamento é 100%s durante todo o tempo dos horários de tráfego intenso,
o que representa que neste perı́odo existem veı́culos que possuem todos os seus vizinhos
conectados entre si.
120
Media
Max
Mediana
90
60
30
0
0am
6am
12am
6pm
Periodo do Dia(h)
12pm
Coeficiente de Agrupamento(%)
Coeficiente de Agrupamento(%)
Quando existem muitos veı́culos em circulação na cidade, principalmente nas
áreas centrais, pode aparecer muitos pontos de engarrafamento, principalmente em avenidas as quais recebem fluxos de várias ruas adjacentes. Nestas regiões, existe uma
tendência forte de formação de agrupamentos de veı́culos, que compartilham as mesmas
rotas e condições de tráfego. Ainda na Figura 8-(a) pode-se observar que o coeficiente de
agrupamento médio é 50%, ou seja, metade dos vizinhos de um veı́culo tiveram encontro
em algum momento durante sua trajetória. Quando se compara com grafos aleatórios, é
possı́vel perceber que a base de dados de Zurich apresenta um coeficiente uma ordem
de grandeza maior do que os grafos aleatórios, o que nos leva a constatar que essa base
apresenta fortes indicativos de comportamentos sociais, com a formação de comunidades [Watts and Strogatz 1998].
100
80
Zurich
Aleatorio
60
40
20
0
0am
6am
12am
6pm
Periodo do Dia(h)
(a)
Valor
médio, (b) Comparação
máximo e mediano.
grafos aleatórios.
12pm
com
Figura 8. Evolução do Coeficiente de Agrupamento para a base de Zurich.
A Figura 9 apresenta a evolução para o coeficiente de agrupamento durante o dia.
É importante lembrar que esta rede apresenta uma alta densidade, o que já é um indicativo
para formação de grupos. Nas Figuras 9-(a) e 9-(b), pode-se avaliar o valor máximo,
médio e mediano para o coeficiente de agrupamento. Observa-se que o coeficiente tem o
seu valor bem próximo de 90% durante todo o dia. Desta forma, praticamente todos os
vizinhos de um vértice no grafo possuem conexão entre si; o que torna a rede bastante
agrupada. Comparando os valores dos dias da semana para finais de semana, percebe-se
uma redução do coeficiente nos finais de semana (cerca de 5%). Essa diferença pode ser
atribuı́da ao fato de que, nos finais de semana os destinos são variados, o que implica
numa variação das trajetórias efetuadas pelos veı́culos. Ao comparar os resultados com
grafos aleatórios (Fig. 9-(c) e 9-(d)), é possı́vel verificar praticamente a existência de um
único agrupamento no grafo.
50
90
60
30
0
0am
6am
12am
6pm
Período do Dia(h)
12pm
120
Média
Max
Mediana
90
60
30
0
0am
6am
12am
6pm
Período do Dia(h)
12pm
120
São Francisco
Aleatório
90
60
30
0
0am
6am
12am
6pm
Período do Dia(h)
12pm
Coeficiente de Clusterização(%)
Média
Max
Mediana
Coeficiente de Clusterização(%)
120
Coeficiente de Clusterização(%)
Coeficiente de Clusterização(%)
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
São Francisco
Aleatório
120
90
60
30
0
0am
6am
12am
6pm
Período do Dia(h)
12pm
(a) Dias da semana. (b) Finais de semana. (c) Dias da semana. (d) Finais de semana.
Figura 9. Evolução do Coeficiente de Agrupamento para a base de São Francisco.
Centralidade de Proximidade:
4
Zurich
Aleatorio
0.25
0.2
0.15
0.1
0.05
0
0am
6am
12am
6pm
Periodo do Dia(h)
(a) Zurich.
12pm
4
São Francisco
Aleatório
Closeness Centrality
0.3
Closeness Centrality
Centralidade de Proximidade
A evolução da centralidade de proximidade (Closeness Centrality) no grafo é importante
para entender o quão próximo os vértices se encontram. A Figura 10 apresenta o valor
médio para o closeness centrality durante o dia para as bases de Zurich e São Francisco.
A Figura 10-(a) apresenta os valores para a base de dados de Zurich. Pode-se verificar um
crescimento no valor da centralidade de proximidade nos horários de pico. Por definição,
quanto maior for o valor desse coeficiente, menor será a distância entre veı́culos. Assim, quando se tem muitos veı́culos, a tendência é que os mesmos se encontrem com
maior frequência, principalmente nos horários de pico, nos quais a probabilidade de engarrafamentos é maior. Para a base de São Francisco (Figura 10-(b) e 10-(c)) pode-se
observar um comportamento semelhante. Nos horários de pouco tráfico o valor do coeficiente sofre um pequeno decréscimo. Durante o restante do dia, devido à alta densidade
de arestas, o valor desse coeficiente tende a ficar constante. Para ambas as bases de dados
a comparação com os grafos aleatórios não gerou variações expressivas.
3
2
1
0
0am
6am
12am
6pm
Período do dia(h)
12pm
São Francisco
Aleatório
3
2
1
0
0am
6am
12am
6pm
Período do dia(h)
12pm
(b) São Francisco (dias (c) São Francisco (finais
da semana).
de semana).
Figura 10. Evolução da Centralidade de Proximidade durante o dia.
5. Conclusões e Trabalhos Futuros
Neste trabalho foi apresentada uma análise social para duas bases de dados conhecidas
na literatura, a base de Zurich e a base de São Francisco. São duas bases que possuem
comportamentos e rotinas diferentes. A primeira representa o tráfego de veı́culos pessoais
numa região de grande cidade e a segunda base um conjunto de táxis se deslocando para
atender passageiros, também numa grande cidade. A análise da base de dados de Zurich
apontou fortes caracterı́sticas sociais, como a presença de comunidades comprovada pela
métrica coeficiente de agrupamento e as distâncias curtas entre os vértices no grafo. Podese comprovar também a existência de interesses comuns e rotinas nesta base. Entretanto, a
base de São Francisco, por apresentar movimentos de veı́culos de mesma natureza (táxis),
em regiões próximas, apresentou uma grande densidade de encontros, com a estrutura
bem próxima de um grafo completo. Constata-se também nessa base que a diversidade
51
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
de destinos de um táxi e o seu constante deslocamento diário, deixa-o mais suscetı́vel a
encontrar outros veı́culos. Essas caracterı́sticas reforçam a ideia que a análise de um trace
sob a perspectiva social deve considerar as peculiaridades da cidade, dos tipos de veı́culos
e o seu padrão de mobilidade. Contudo, ao analisar rotinas e padrões de mobilidade de
veı́culos, é importante ressaltar que a existência de similaridade nas rotas deve considerar
toda a rotina de um condutor e a sua interação com os demais, durante todo o seu trajeto.
Como trabalhos futuros, pretende-se analisar outras bases, além de caracterizar
essa mobilidade em função de tempo e espaço, tentando quantificar diferenças entre as
métricas por regiões numa cidade. Além disso, almeja-se o refinamento desta análise,
com a variação dos parâmetros utilizados na construção dos grafos e avaliação de outras
métricas. Outro ponto importante a investigar é a aplicação dessas métricas para melhorias
de protocolos em redes veiculares. Protocolos de disseminação de dados podem fazer
uso de métricas sociais para alcançar melhorias na cobertura e redução do número de
transmissão. Além disso, métricas que quantificam interesses comuns podem ser úteis na
disseminação de propagandas e informativos na rede. Desta forma, pretende-se aplicar
conceitos sociais no desenvolvimento de protocolos de roteamento em redes veiculares.
Referências
Boukerche, A., Oliveira, H. A. B. F., Nakamura, E. F., and Loureiro, A. A. F. (2008). Vehicular ad hoc networks: A new challenge for
localization-based systems. Computer Communications, 31(12):2838–2849.
Cunha, F., Carneiro Viana, A., Mini, R. A. F., and A.F. Loureiro, A. (2013). How effective is to look at a vehicular network under a
social perception? In 1st International Workshop on Internet of Things Communications and Technologies (IoT’13) (IoT’2013),
Lyon, France.
Faezipour, M., Nourani, M., Saeed, A., and Addepalli, S. (2012). Progress and challenges in intelligent vehicle area networks.
Communications ACM, 55(2):90–100.
Fiore, M. and Härri, J. (2008). The networking shape of vehicular mobility. In Proceedings of the 9th ACM international symposium
on Mobile ad hoc networking and computing, MobiHoc ’08, pages 261–272, New York, NY, USA. ACM.
Hossmann, T., Legendre, F., and Spyropoulos, T. (2009). From Contacts to Graphs: Pitfalls in Using Complex Network Analysis for
DTN Routing. In INFOCOM Workshops 2009, IEEE, pages 1–6. IEEE.
Johnson, N. L. and Kotz, S. (1977). Urn Models and Their Applications: An Approach to Modern Discrete Probability Theory. Wiley,
New York.
Liu, X., Li, Z., Li, W., Lu, S., Wang, X., and Chen, D. (2012). Exploring social properties in vehicular ad hoc networks. In Proceedings
of the Fourth Asia-Pacific Symposium on Internetware, Internetware ’12, pages 24:1–24:7, New York, NY, USA. ACM.
Loulloudes, N., Pallis, G., and Dikaiakos, M. D. (2010). The dynamics of vehicular networks in urban environments. CoRR,
abs/1007.4106.
Naumov, V., Baumann, R., and Gross, T. (2006). An evaluation of inter-vehicle ad hoc networks based on realistic vehicular traces. In
Proceedings of the 7th ACM international symposium on Mobile ad hoc networking and computing, MobiHoc ’06, pages 108–119,
New York, NY, USA. ACM.
Newman, M. E. J. (2005). Power laws, pareto distributions and zipf’s law. Contemporary Physics, 46:323–351.
Piorkowski, M., Sarafijanovic-Djukic,
http://crawdad.cs.dartmouth.edu/.
N.,
and Grossglauser,
M. (2009).
Crawdad trace.
Downloaded from
Schoch, E., Kargl, F., Weber, M., and Leinmuller, T. (2008). Communication patterns in vanets. Communications Magazine, IEEE,
46(11):119–125.
Scott, J. (2000). Social Network Analysis: A Handbook. Sage Publications, second. edition.
Tostes, A. I. J., de L. P. Duarte-Figueiredo, F., Assunção, R., Salles, J., and Loureiro, A. A. F. (2013). From data to knowledge:
City-wide traffic flows analysis and prediction using bing maps. In SIGKDD International Workshop on Urban Computing, UrbComp’13, Chicago, USA. ACM.
Uppoor, S. and Fiore, M. (2012). Insights on metropolitan-scale vehicular mobility from a networking perspective. In Proceedings
of the 4th ACM international workshop on Hot topics in planet-scale measurement, HotPlanet ’12, pages 39–44, New York, NY,
USA. ACM.
Watts, D. J. and Strogatz, S. H. (1998). Collective dynamics of ’small-world’ networks. Nature, 393(6684):440–442.
Wellman, B. (2001). Computer networks as social networks. Science, 293(5537):2031–2034.
52
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Uma Abordagem Multicriterial Utilizando o Método ANP
para Análise de Centralidade em Redes Sociais Online
Fernanda S. B. de Lemos1 , Rafael G. Vieira1 e Janine Kniess1
1
Departamento de Ciência da Computação
Universidade do Estado de Santa Catarina (UDESC) – Joinville – SC – Brazil
{fsblemos, rafaelgiordano12, jakniess}@gmail.com
Abstract. The use of Centrality Measures (CMs) in the analysis of Online Social Networks (OSNs) has proved to be an effective strategy for identification
of potentially influential users who can disseminate information on the network
faster and more efficiently. Nevertheless, the selection based on individual CMs
focuses in a particular user’s attribute that singly may not reflect its real importance. In this sense, this paper presents a multi-criteria approach for analyzing
centrality in OSNs by using the ANP method, which are modeled the interrelationships between CMs to provide greater robustness in the central user’s selection. A set of simulations was also performed, showing the consistency and
good performance of the proposed method.
Resumo. A utilização de Medidas de Centralidade (MCs) na análise de Redes
Sociais Online (RSOs) tem demonstrado ser uma boa estratégia para identificar
usuários potencialmente influentes que possam difundir informações na rede
com maior velocidade e eficiência. No entanto, a seleção realizada por MCs
individuais prioriza um atributo especı́fico do usuário, que isoladamente pode
não refletir sua real importância. Assim, este trabalho apresenta uma abordagem multicriterial para análise de centralidade em RSOs utilizando o método
ANP, onde são modeladas as inter-relações entre MCs para prover maior robustez na seleção do usuário central. Foi realizado um conjunto de simulações,
que mostram a consistência e o bom desempenho do método proposto.
1. Introdução
Nos últimos anos, as Redes Sociais Online (RSOs) [Henttonen 2010,
Heidemann et al. 2012] têm demonstrado ser um conceito poderoso e flexı́vel, exercendo
uma grande influência no cotidiano das pessoas. RSOs em geral, como Facebook,
ResearchGate e Linkedin, possuem o potencial de divulgar informações mais rápido do
que qualquer outra mı́dia tradicional, proporcionando uma grande oportunidade para a
disseminação, organização e busca de conhecimento entre pessoas e pesquisadores de
diversas áreas [Freeman 2004]. Por todas estas razões, várias pesquisas enfatizam o
estudo de RSOs a fim de descobrir maneiras para explorar e rentabilizar este potencial.
Estruturalmente, uma RSO pode ser modelada como um grafo, onde os vértices
(nós) correspondem aos usuários e as arestas representam as relações entre eles
[Wasserman and Faust 1994]. Dentre os diversos problemas que esse tipo de modelagem
possibilita solucionar, este trabalho objetiva especificamente determinar quais nós de uma
53
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
rede são classificados como centrais. No contexto desta pesquisa, um nó central é caracterizado pela sua capacidade de divulgar uma informação para o maior número possı́vel
de outros nós em um menor número de iterações [Freeman 1978, Landherr et al. 2010].
Isso implica que, muitas vezes, esses nós estejam estruturalmente muito bem integrados
na rede e possuam maior influência sobre todos os outros. Esta estratégia é muito promissora pois, uma vez conhecidos esses nós, empresas podem concentrar suas atividades
(como publicidade e marketing) unicamente sobre eles para realizar uma rápida difusão
de uma marca, um produto ou uma campanha [de Valck et al. 2009].
Embora a utilização de Medidas de Centralidade (MC) para investigar o papel dos nós centrais em RSOs seja amplamente documentada na literatura [Freeman et al. 1979, Bonacich 1987, Hage and Harary 1995, Borgatti 2005,
Newman 2005, Guimarães et al. 2013], a seleção desses nós ainda tem sido considerada uma tarefa difı́cil. Isso se deve principalmente à limitações em relação às caracterı́sticas comuns das RSOs, tais como: complexidade estrutural, a evolução da rede,
diversidade de nós e conexões, entre outros [Strogatz 2001]. Além disso, cada MC apresenta um comportamento diferente quando aplicada sob diferentes estruturas e topologias
[Degila and Sanso 2004].
Para lidar com esses desafios e ao mesmo tempo explorar o enorme potencial
proporcionado pelas RSOs, este artigo propõe uma forma alternativa para modelagem de
centralidade em RSOs através de uma abordagem multicriterial. A premissa fundamental
é de que cada MC possui uma visão parcial da rede. Assim, essas medidas podem ser
combinadas a fim de proporcionar maior robustez na seleção do nó central em diferentes
cenários, bem como melhorar a compreensão da importância dos próprios nós na RSO.
O método ANP (Analytic Network Process) [Saaty 1996, Saaty 2004] constitui a base do
método proposto, sendo utilizado para classificar os nós através da inter-relação entre um
conjunto de elementos. Para mostrar a significância do método proposto, será realizado
um conjunto de simulações utilizando RSOs reais e artificiais, com o objetivo de comparar
os resultados do método com as MCs analisadas individualmente.
O restante deste artigo está organizado da seguinte forma: a Seção 2 apresenta
uma visão geral acerca de centralidade em RSOs e os trabalhos relacionados. A Seção 3
especifica o método proposto, incluindo as etapas para o funcionamento do método ANP.
Na Seção 4, é realizado um conjunto de experimentos para avaliar o método proposto,
apresentando os resultados preliminares. Por fim, a Seção 5 resume as conclusões obtidas
e discute trabalhos futuros.
2. Trabalhos Relacionados
Durante muitos anos, a ideia de centralidade tem sido tema principal no estudo de sistemas
sociais, sendo assumida como uma relação entre o local de um indivı́duo na rede e a sua
influência e poder em processos de grupo [Bavelas 1948, Wasserman and Faust 1994].
Quando relacionada às RSOs, a identificação de elementos centrais é um problema antigo à primeira vista. As noções clássicas de centralidade advieram de [Bonacich 1972,
Freeman 1978] que procuraram quantificar a importância estrutural dos agentes em uma
rede. [Freeman et al. 1979] particularmente definiram centralidade em termos de medidas (MCs), classificando-as em três conceitos-chave: centralidade de grau, proximidade
e intermediação, cada uma com implicações importantes sobre como centralidade pode
54
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
afetar processos de grupo.
Devido à grande popularização das RSOs nos últimos anos, vários estudos publicados têm proposto maneiras mais eficientes de medir centralidade em RSOs. Em
um amplo estudo, [Gomez et al. 2013] abordam o problema de otimização de fluxo em
RSOs. Nesse sentido, foi mostrado como algumas MCs podem ser melhoradas quando
são levados em consideração mais de um critério para análise. Como resultado, os autores verificaram que a utilização de modelos com mais de um critério (seja bicriterial ou
multicriterial) são mais adequados em estruturas construtivas, ou seja, onde a interação
entre os elementos consiste em uma etapa crucial do processo de tomada de decisão.
Uma outra abordagem para análise de centralidade é encontrada em
[Abbasi and Hossain 2013], onde os autores apresentam um conjunto de MCs hı́bridas,
que combinam MCs já documentadas na literatura a fim de melhorar suas eficiências. As
novas MCs apresentadas são Degree-Degree, Degree-Closeness e Degree-Betweenness
que estendem as MCs de grau, proximidade e intermediação, respectivamente. O trabalho
realiza uma análise comparativa entre as MCs propostas e as individuais, demonstrando a
eficácia da abordagem proposta.
Em [Valente et al. 2008], é realizada uma análise através de 62 redes sociais para
verificar a existência de correlações entre quatro MCs: grau, proximidade, intermediação
e autovetor. Os autores partem do princı́pio de que todas as MCs se baseiam em diferentes cálculos matemáticos (critérios) e que uma alta correlação entre elas pode acarretar
em uma redundância de cálculo, fazendo com que seja provável que ambas encontrem
o mesmo elemento na rede. Por outro lado, se MCs não são altamente correlacionadas,
pode-se dizer que elas apresentam cálculos distintos, o que podem estar associadas à resultados eficientes. Como resultado, os autores verificam que apesar de as MCs serem
conceitualmente relacionadas, os valores das correlações indicam que as MCs são naturalmente distintas.
Apesar do valor agregado aos trabalhos apresentados e de suas contribuições para
a elaboração desta pesquisa, nenhum deles apresentaram uma forma de generalizar a
utilização de MCs em apenas um método, para que esse possa realizar uma análise multicriterial levando em conta a relação entre essas medidas e os elementos da rede. Também
não foram encontrados na literatura trabalhos que abordem especificamente as MCs sob
o ponto de vista multicriterial para a seleção de elementos centrais em uma RSO.
Considerando as MCs identificadas na literatura e baseando-se em
[Valente et al. 2008], estão sendo consideradas para este trabalho as MCs de grau,
proximidade e intermediação [Freeman 1978, Freeman et al. 1979]. A escolha se
deu em função do grande número de estudos cientı́ficos para todas as três MCs
[Landherr et al. 2010] e por elas se adequarem aos aspectos mais simples vistos em
RSOs, tais como relações não direcionadas e arestas não ponderadas. Nesse sentido,
dado um vértice v ∈ V pertencente a um grafo G(V , E) e |N | o número de nós em V , os
valores normalizados para cada MC são definidos através das definições apresentadas a
seguir [Freeman 1978]:
Definição 2.1. A centralidade de grau CG (v) corresponde ao número de arestas incidentes
ao nó v (representado por adjv ), sendo definida por:
55
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
adjv
|N | − 1
CG (v) =
(1)
Definição 2.2. A centralidade de proximidade CP (v) corresponde à soma do comprimento de todos os menores caminhos entre v e todos os demais vértices t de G (denotado
por dG (v, t)). É definida por:
|N | − 1
t∈V dG (v, t)
CP (v) = P
(2)
Definição 2.3. A centralidade de intermediação CI (v) é calculada através da razão entre
o número de vezes em que um nó v serve como intermédio para o menor caminho g
entre quaisquer dois outros nós j e k de G (representado por gjk (v)) e o número total de
menores caminhos entre j e k (representado por gjk ). É definida por:
2·
CI (v) =
Pn
j=1;j6=v
Pn
k=j+1;k6=v
gjk (v)
gjk
(|N | − 1) · (|N | − 2)
(3)
3. Método Proposto
A utilização de MCs tradicionais para análise de centralidade em RSOs geralmente acarreta na priorização de um atributo especı́fico dos nós [Costenbader and Valente 2003].
Por exemplo, a centralidade de grau determina a popularidade de um nó (em relação ao
número de arestas adjacentes), enquanto a centralidade de intermediação indica o seu potencial de comunicação dentro da rede. Ao levar em conta uma avaliação envolvendo mais
de uma MC, espera-se obter maior capacidade para explorar as caracterı́sticas e funções
dos nós, de maneira mais abrangente e integrada.
Nesse sentido, o método proposto neste trabalho tem como objetivo combinar
o potencial de duas ou mais MCs para melhor selecionar o nó central em uma RSO.
A premissa inicial é de que a análise de centralidade em RSOs pode ser considerada
um problema de decisão com múltiplos critérios (Multiple Criteria Decision Making,
abreviado por MCDM) [Korhonen et al. 1992], pois dentre todas as alternativas possı́veis
(nós), deve-se escolher uma considerando múltiplas MCs. Para isso, será adotado como
base o método multi critério chamado ANP (Analytic Network Process), pois ele é capaz
de lidar com elementos interdependentes e proporcionar um ambiente integrado para a
avaliação de relações em sistemas complexos. Além disso, o método ANP é empregue
com sucesso na literatura [Saaty 2004] em problemas que envolvam tomadas de decisão
com múltiplas variáveis, critérios, e relações entre eles.
No contexto dessa pesquisa, o ANP aplicado à seleção do nó central será sumarizado em cinco etapas:
Etapa 1. Construção da estrutura da rede: O processo inicial para a delimitação do
método ANP consiste na identificação e estruturação dos elementos pertencentes à três
grupos básicos: objetivo (Obj), critérios (C) e alternativas (A). O objetivo neste trabalho
56
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
consiste em selecionar o nó central na RSO; os critérios são representados pelo conjunto
C = {C1 , C2 , ..., Cm } das m MCs que estão sendo consideradas; e as alternativas pelo
conjunto A = {A1 , A2 , ..., An } de todos os n nós da RSO. A Figura 1 ilustra a estrutura da
rede, que engloba o objetivo, critérios, alternativas, e suas relações (representadas pelas
setas, que são especificadas na Etapa 2).
Critérios (C)
Alternativas (A)
Medida de Centralidade 1
Nó 1
Medida de Centralidade 2
Nó 2
Medida de Centralidade m
Nó n
Objetivo (Obj)
Selecionar o Nó Central
Figura 1. Estrutura da rede ANP
Etapa 2. Definição de relações entre elementos: Nesta etapa são estabelecidas e ponderadas todas as relações entre os elementos identificados na Etapa 1. Essas relações
representam a influência de um elemento sobre outro e, seja n o número de nós de uma
RSO e m o número de MCs sendo consideradas para análise, no contexto desta pesquisa
as relações são divididas em quatro tipos, como formalizado a seguir:
1. Relações do objetivo para os critérios: Corresponde ao grau de importância de
cada critério (C) sobre o objetivo (Obj). A matriz-coluna R1 (Equação 4) contém
os valores de todas as relações do objetivo Obj para cada critério Cj , onde j ∈
[1, m]. Os valores dessas relações devem ser atribuı́dos de acordo com o peso que
se deseja para cada critério de forma que a soma destes pesos resulte em 1. Por
exemplo, para m = 3, r11 = 1 (100%), r12 = 0 (0%) e r13 = 0 (0%), o método
aqui proposto irá levar em consideração apenas r11 , que nesse caso possui 100%
do peso no cálculo da matriz R1 , resultando na seleção do mesmo nó obtido se
fosse utilizado apenas o critério C1 .
Obj

C1 r11
C2  r12 
R1 = .. 
. 
.  .. 

(4)
Cm r1m
2. Relações de critérios para critérios: Definidas na matriz R2 (Equação 5), as
relações r2ij entre critérios representam o grau de influência que um critério Ci
exerce sobre outro critério Cj , para i 6= j. No contexto desse trabalho, esses valores são definidos através do nı́vel de correlação atribuı́do entre duas MCs. Por
exemplo, se CG corresponder à centralidade de grau e CG e o grau de correlação
entre ela e à centralidade de proximidade CP for igual à 0.8, tem-se r212 = 0.8.
57
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
C1
C1
0

C2 r221
R2 = .. 
.
.  ..
Cm r2m1

C2
r212
0
..
.
r2m2
...
...
...
..
.
...
Cm

r21m
r22m 
.. 
. 
(5)
0
3. Relações de critérios para alternativas: Cada elemento da matriz R3 (Equação 6)
corresponde à influência que uma alternativa (nó) Ai exerce sobre um critério Cj ,
ou seja, o valor da centralidade de cada alternativa Ai utilizando o critério Cj em
questão. Por exemplo, se C1 corresponder à centralidade de grau (CG – Seção 2)
e o valor dessa centralidade para a alternativa A2 for igual à 0.6 (Seção 2), tem-se
que r321 = 0.6.
C1
A1 r311
A2 r321
R3 = .. 
.
.  ..
C2
r312
r322
..
.
An r3n1
r3n2

...
...
...
...
...
Cm

r31m
r32m 
.. 
. 
(6)
r3nm
4. Relações de alternativas para critérios: Essas relações são representadas pelos
elementos r4ij da matriz R4 = (R3 )T e correspondem à influência de um critério
Ci sobre uma alternativa Aj , como mostrado na Equação 7.
A1
C1 r411
C2  r421
R4 = .. 
.
.  ..
A2
r412
r422
..
.
Cm r4m1
r4m2

...
...
...
...
...
An
r41n
r42n
..
.




(7)
r4mn
Após a especificação das matrizes R1 , R2 , R3 e R4 , cada coluna i da matriz Rt
(para t = 1, 2, 3, 4) deve ter seus valores normalizados, de acordo com a Equação 8
[Montgomery and Runger 2011]:
rtij
rtN
ij = Pd
k=1 rtkj
(8)
onde rtij ∈ Rt é definido como o valor não normalizado da relação entre dois elementos i
e j; rtN
ij corresponde ao valor normalizado que substituirá rtij em Rt ; e d é a dimensão da
coluna da matriz Rt . Essa normalização garante que a soma de todos os elementos para
cada coluna das matrizes R1 , R2 , R3 e R4 seja igual à 1.
Etapa 3. Construção da Supermatriz Não-Ponderada: Nesta etapa, os valores normalizados das relações obtidas na Etapa 2 serão adicionados à Supermatriz Não-Ponderada
WN P (Equação 9). Esta Supermatriz contém as inter-relações entre todos os elementos
do sistema e representa a importância de cada elemento (objetivo, critérios e alternativas)
dentro de cada grupo separadamente. A Supermatriz WN P possui dimensão d × d, onde
58
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
d = m + n + 1 (1 representa a dimensão de Obj), e é composta pelas quatro matrizes (R1 ,
R2 , R3 e R4 ) especificadas na Etapa 2:
A1
A1
WN P

0

A2 
0
.. 
.

.  ..

An  0

= C  r4
1 
11


C2 r421
.. 
..
. 
 .
Cm  r4m1
Obj
0
A2
...
An
C1
0
...
0
r311
0
..
.
...
...
0
..
.
r321
..
.
0
...
0
r3n1
r412
...
r41n
r211
r422 . . .
.. R4 . .
.
.
r42n
..
.
r221
..
.
r4m2
0
r4mn
0
r2m1
0
...
...
C2
...
..
r312
.
..
r322
.
.. R3 . .
.
.
..
r3n2
.
..
r212
.
..
r222
.
.. R2 . .
.
.
r2m2 . . .
0
...
Cm
r31m
r32m
..
.
r3nm
r21m
r22m
..
.
r2mm
0
Obj
0







0 

r11 


r12 
R. 1 
.. 

r1m 
0
0
..
.
(9)
As relações objetivo/objetivo, alternativa/alternativa e alternativa/objetivo não
são consideradas nesse trabalho, e portanto são atribuı́das com valor zero.
Etapa 4. Construção da Supermatriz Ponderada: A partir da Supermatriz NãoPonderada WN P obtida na Etapa 3, esta etapa consiste em construir a Supermatriz
Ponderada WP , uma matriz estocástica que representa a importância de cada elemento considerando todos os grupos (Obj, C e A) simultaneamente. Para isso, deve
ser aplicado um procedimento de normalização semelhante ao aplicado na Equação 8
[Montgomery and Runger 2011], onde para cada coluna, divide-se cada elemento pelo
somatório de todos seus elementos, como apresentado na Equação 10.
(WN P )ij
(WP )ij = Pd
k=1 (WN P )kj
(10)
Etapa 5. Cálculo da Supermatriz Limite: A última etapa do método ANP consiste
em calcular a Supermatriz Limite WL , elevando a Supermatriz Ponderada WP à potência
((WP )k para k = 1, 2, ...) até a convergência de seus valores, de modo que para toda
coluna i de WP , (WP )i = (WP )i+1 . Essa convergência sempre ocorre, devido à natureza
estocástica da Supermatriz WP , sendo na maioria dos casos k < 4. Logo, os resultados
finais são representados por uma matriz-coluna WF (Matriz Final) que é gerada a partir
de qualquer coluna i da Supermatriz Limite WL . A Matriz Final tem como objetivo
relacionar os pesos de cada alternativa A em função do objetivo Obj, como pode ser
apresentado na Equação 11:
Obj

A1 p 1
A2  p 2 
WF = .. 
. 
.  .. 

An
59
pn
(11)
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Por fim, pode-se obter um ranking de todas as alternativas contidas em WF , que
no contexto desse trabalho corresponde à classificação dos nós com maior ı́ndice de centralidade na RSO. Nesse caso, o nó com o maior ı́ndice de centralidade (AC ) é calculado a
partir de AC = max(WF ) ou seja, o nó que possuir o maior valor dentre todos os valores
contidos em WF .
4. Avaliação
A fim de avaliar o comportamento do método proposto, foram realizadas simulações computacionais englobando uma análise de difusão de marketing viral em RSOs. Marketing
viral descreve qualquer estratégia que encoraja os indivı́duos a passar uma mensagem de
marketing para outros, criando potencial para o crescimento na exposição e influência da
mensagem [Wilson 2000]. Nesse sentido, as próximas subseções apresentam os resultados obtidos mediante as simulações.
4.1. Configuração das Simulações
O ambiente de simulação é composto por um conjunto de seis redes, sendo quatro delas RSOs reais e duas delas redes geradas artificialmente, como pode ser visualizado na
Tabela 1. As RSOs reais (nomeadas por RS1 , RS2 , RS3 e RS4 ) foram obtidas a partir
dos projetos SNAP (Stanford Analysis Project Network) [SNAP 2013] e Konect (Koblenz
Network Collection) [Konect 2013] onde RS1 e RS2 correspondem a subgrafos da RSO
Facebook e RS3 e RS4 correspondem a subgrafos da RSO Orkut. As redes artificiais (nomeadas por RS5 e RS6 ) foram geradas através da ferramenta Gephi [Bastian et al. 2009].
A distribuição e o número das redes analisadas podem ajudar na validação do método
proposto de duas maneiras: 1) em primeiro lugar, avaliar o desempenho das MCs em
diferentes cenários, o que proporciona uma maior confiança sobre os resultados; 2) verificar quais caracterı́sticas das redes possuem maior impacto sobre a eficiência do método
proposto.
Tabela 1. Caracterı́sticas das seis redes analisadas [SNAP 2013, Konect 2013,
Bastian et al. 2009]
RSOs
Nós
Arestas
Tipo
Diâmetro†
Coef. de Clustering∗
RS1 (Facebook)
530
4.732
Real (RSO)
9
0.545
RS2 (Facebook)
3.020
45.538
Real (RSO)
16
0.486
RS3 (Orkut)
775
14.006
Real (RSO)
10
0.478
2.033
37.444
Real (RSO)
11
0.550
635
10.075
Artificial
3
0.050
10.047
Artificial
6
0.005
RS4 (Orkut)
∗
RS5 (p = 0.01 )
RS6 (p = 0.005∗ ) 2.014
∗
†
Probabilidade de ligação entre os nós (valores retirados de [Landherr et al. 2010])
Valores obtidos mediante análise através da ferramenta Gephi [Bastian et al. 2009]
Os testes serão aplicados de maneira idêntica para todas as redes, de modo a
padronizar os resultados, melhorar a precisão da simulação e propiciar resultados mais
confiáveis. Os testes consistem em simular a difusão de um anúncio em todas as seis
redes, onde para cada uma delas são selecionados previamente cinco nós, sendo três deles
60
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
através das três MCs apresentadas (grau, proximidade e intermediação), um deles através
do método aqui proposto e um deles selecionado aleatoriamente. O anúncio é difundido a
partir de cada um dos cinco nós individualmente para verificar o desempenho de cada um
em função do número de outros nós atingidos com o anúncio. Como forma de validar os
resultados, é importante possuir conhecimento de algumas caracterı́sticas adicionais das
RSOs que podem implicar em uma maior ou menor velocidade de difusão, como diâmetro
e o coeficiente de clustering (Tabela 1). Por exemplo, um diâmetro alto pode implicar na
presença de “caudas” no grafo, como pode ser visualizado na Figura 2(a), o que aumenta
o número de iterações para que todos os nós sejam atingidos. Já um coeficiente de clustering alto, como visualizado na Figura 2(b), pode indicar um grafo denso e por conseguinte
uma difusão mais veloz.
Presença de cauda no grafo
Fluxo de informação entre os nós do grafo
(a) Presença de caudas
(b) Alto coeficiente de clustering
Figura 2. Aspectos comuns visualizados em grafos de RSOs
A configuração inicial do método proposto é definida obedecendo às
especificações apresentadas na Tabela 2. Os critérios do método correspondem às três
MCs definidas na Seção 2 (centralidade de grau, proximidade e intermediação), cujos valores das correlações derivam dos resultados obtidos por [Valente et al. 2008] em relação
às correlações entre as três MCs. Os pesos das relações entre os critérios (C) e o objetivo
(Obj) foram definidos de forma a não priorizar nenhum critério, ou seja, cada critério recebe a mesma importância em relação ao objetivo (Tabela 2). As relações entre critérios e
alternativas são obtidas dinamicamente através das simulações para cada rede analisada.
Tabela 2. Relações critérios–critérios e objetivo–critérios [Valente et al. 2008]
C1
C2
C3
C1
0.000
0.700
0.560
Centralidade de Intermediação C2
0.700
0.000
0.390
Centralidade de Proximidade
C3
0.560
0.390
0.000
Selecionar Nó Central
Obj
0.333
0.333
0.334
Centralidade de Grau
4.2. Especificações de Hardware e Software
A análise de centralidade com base no método proposto resultou na necessidade de se
desenvolver um protótipo computacional capaz de realizar todos os procedimentos necessários para viabilizar a geração dos resultados de forma integrada, visto que as ferramentas encontradas na literatura realizam cada procedimento de forma independente.
Nesse sentido, o protótipo desenvolvido possui três principais funções:
61
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
• Calcular os valores das MCs de grau, proximidade e intermediação para cada nó
da RSO sendo analisada;
• Implementar computacionalmente os procedimentos de cálculo para o método
ANP, alterando seus critérios de acordo com o contexto desse trabalho;
• Simular a difusão de um anúncio de marketing na rede para cada um dos cinco nós
selecionados. Essa difusão ocorre a partir de um número de iterações (rounds),
onde a cada iteração todos os nós difundem o anúncio recebido para todos os
demais (estratégia de broadcast, semelhante a um procedimento de busca em largura), admitindo uma distribuição normal de probabilidade PN ∈ [0, 100] por
cento de chance de um nó transmiti-lo a cada iteração.
Para a realização das simulações foram utilizadas máquinas AMD Phenom
2.8GHz, 4.0GB de memória RAM e distribuição Linux Ubuntu 12.04 de 32 bits.
TM
X4
4.3. Resultados
Os resultados apresentados nesta seção comparam o desempenho das diferentes MCs
(grau, proximidade e intermediação) com o método aqui proposto, quando avaliados sob
diferentes cenários. As Figuras 3(a) – 3(d) apresentam os resultados obtidos mediante a
análise de cada uma das quatro RSOs reais utilizadas (R1 , R2 , R3 e R4 ), onde cada análise
é representada por um gráfico de linhas. Em cada gráfico, o eixo vertical corresponde ao
número de nós que receberam o anúncio difundido em cada iteração (que varia de 0 até
o número de nós em cada RSO) e o eixo horizontal corresponde ao número de iterações
(rounds) decorridas, que varia de 0 até n (onde n representa o valor da iteração onde todas
as medidas atingem todos os nós da RSO). Cada gráfico também é composto por cinco
linhas, onde cada uma delas representa uma das cinco medidas sendo analisadas. Assim,
quanto antes a linha atingir o valor máximo no eixo vertical, mais eficiente será a medida
associada a essa linha.
A partir dos resultados apresentados nas Figuras 3(a) – 3(d), pode-se perceber
que em todos os quatro cenários (R1 , R2 , R3 e R4 ), o nó selecionado através do método
proposto apresentou igual ou melhor desempenho em relação aos nós selecionados pelas MCs individualmente. Especificamente nas Figuras 3(a) – 3(d), pode-se perceber um
comportamento semelhante na acentuação da curva representada pelo método proposto
em relação às demais curvas. Naturalmente, a MC de grau possui maior acentuação nas
primeiras duas iterações (dado que seu mecanismo de funcionamento seleciona o nó com
o maior número de adjacências), no entanto, a curva representada pelo método proposto
ganha força a partir da segunda iteração, devido ao maior potencial de difusão apresentado
pelos “amigos dos amigos” do nó selecionado, estabelecendo-se como principal componente para a difusão nas iterações subsequentes. A atenuação de todas as curvas nas
últimas iterações é implicada pela presença de caudas nas RSOs.
Pode-se notar também que nas Figuras 3(a) e 3(c) o nó selecionado pelo método
proposto foi o mesmo que o nó selecionado pela MC de intermediação e proximidade, respectivamente (a linha do método sobrepõe as linhas das outras duas MCs). Uma hipótese
para esses resultados é que o tamanho das RSOs simuladas, aliados ao baixo diâmetro e
alto coeficiente de clustering, tornam-se fatores fundamentais para que alguns nós possam
62
100
100
80
80
Nós atingidos (em %)
Nós atingidos (em %)
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
60
40
Grau
Proximidade
Intermediação
Método proposto
Aleatório
20
0
0
2
4
6
8
10
60
40
Grau
Proximidade
Intermediação
Método proposto
Aleatório
20
0
12
0
2
4
Iterações
100
100
80
80
60
40
Grau
Proximidade
Intermediação
Método proposto
Aleatório
0
0
2
4
6
8
10
12
(b) RS2 (Facebook) – 3020 nós
Nós atingidos (em %)
Nós atingidos (em %)
(a) RS1 (Facebook) – 530 nós
20
6
Iterações
8
10
60
40
Grau
Proximidade
Intermediação
Método proposto
Aleatório
20
0
12
0
Iterações
2
4
6
8
10
12
Iterações
(c) RS3 (Orkut) – 775 nós
(d) RS4 (Orkut) – 2033 nós
Figura 3. Difusão de um anúncio pelos nós centrais em quatro RSOs reais.
exercer influência quase total sobre a RSO. Como há poucos nós em relação às demais
RSOs simuladas, a utilização de MCs individuais, como intermação e proximidade, são
adequadas para essas situações e conseguem encontrar com facilidade o nó central na
RSO. Por sua vez, o nó selecionado pelo método proposto nesse trabalho baseia-se nos
cálculos dessas MCs e também seleciona o mesmo nó, apresentando igual desempenho.
A comparação entre as MCs e o método proposto também levaram em conta as redes artificiais (geradas aleatoriamente), como mostrado nas Figuras 4(a) e 4(b). A análise
realizada em redes artificiais é importante no contexto desse trabalho para verificar a
eficácia do método quanto à sua aplicabilidade no contexto das RSOs, ou seja, se o seu
desempenho é restrito às propriedades estruturais das RSOs ou se pode ser aplicado em
qualquer tipo de rede. Essa análise é também adequada para verificar a diferença na
eficiência geral das MCs sendo analisadas, quando comparadas com RSOs reais.
Os resultados apresentados nas Figuras 4(a) e 4(b) mostram que, indiferentemente
ao tamanho da rede, o método proposto tende a selecionar o nó com as mesmas propriedades de uma das MCs analisadas (Na Figura 4(a) o nó selecionado pelo método proposto
foi o mesmo que o nó selecionado pela MC de proximidade, enquanto na Figura 4(b),
pela MC de intermediação). Isso ocorre primeiramente devido à ausência de estruturas e
caracterı́sticas bem definidas na rede (grafo aleatório), o que gera alterações significativas
entre os valores de cada MCs (como por exemplo um nó com alta MC de grau e baixa
MC de intermediação), desbalanceando o valor resultante do método e priorizando apenas
63
100
100
80
80
Nós atingidos (em %)
Nós atingidos (em %)
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
60
40
Grau
Proximidade
Intermediação
Método proposto
Aleatório
20
0
0
1
2
3
4
5
60
40
Grau
Proximidade
Intermediação
Método proposto
Aleatório
20
0
6
0
Iterações
1
2
3
4
5
6
Iterações
(a) RS5 (Aleatória) – 635 nós
(b) RS6 (Aleatória) – 2014 nós
Figura 4. Difusão de um anúncio pelos nós centrais em duas RSOs artificiais
uma MC como critério de análise. De qualquer maneira, o nó selecionado pelo método
proposto nesse trabalho mostrou ser a melhor escolha nos dois cenários apresentados.
Apesar de seu desempenho estar sempre associado a uma das MCs, o método consegue,
para cada cenário, obter a melhor opção. Isso mostra que o método tende a fazer a melhor
escolha frente a cada diferente cenário.
5. Conclusão
Este trabalho apresentou uma abordagem multicriterial para modelagem de centralidade
em Redes Sociais Online (RSOs). De modo geral, o problema de se encontrar os elementos centrais dentro de uma rede consiste em um dos maiores desafios no estudo das
redes sociais. A importância desse problema está vinculada ao grande potencial que esses nós representam à rede, podendo ser utilizados para diversos fins, como por exemplo,
para investigação da influência em redes inter organizacionais e para disseminação de um
anúncio ou propaganda.
Baseando-se nesse problema, foi proposto um novo método que busca analisar
a centralidade em RSOs a partir de uma abordagem multicriterial. O método baseia-se
fortemente na utilização de Medidas de Centralidade (MCs) como critérios de avaliação
para cada elemento da RSO, utilizando para isso o apoio de um método de tomada de decisão chamado ANP. A premissa fundamental do método proposto é de que, combinando
propriedades de MCs já existentes e as relacionando com cada usuário da RSO é possı́vel
obter maior robustez na seleção do nó central em diferentes cenários.
Foram realizados um conjunto de testes e simulações levando em conta um conjunto de seis redes, onde quatro delas são RSOs reais e duas delas são redes artificiais.
As simulações consistiram na difusão de um anúncio de marketing em cada rede a fim
de analisar se o nó escolhido pelo método proposto se mostrou mais eficiente do que os
nós escolhidos pelas MCs isoladamente. Os resultados obtidos mostraram-se promissores em relação à finalidade do método. Em todos os cenários simulados, o nó selecionado
pelo método proposto obteve desempenho igual ou melhor do que os nós selecionados
pelas MCs individualmente. Foi constatado também que apesar de em redes aleatórias
os resultados apresentados pelo método proposto mostrarem igual desempenho quando
comparadas às MCs individuais, o método obtém melhor eficiência quando aplicado em
RSOs de tamanho maior, devido à menor controlabilidade de um único nó sobre a RSO.
64
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
O método ANP também mostrou-se adequado para a modelagem de centralidade,
devido à sua capacidade de lidar com elementos interdependentes (MCs) e proporcionar
um ambiente integrado para a avaliação de todas as relações dentro das RSOs. As três
MCs escolhidas para representar os critérios do ANP também mostram-se adequadas em
relação à literatura, pois são alvo das principais fontes de estudos entre pesquisadores e
por suas médias correlações, que as tornam naturalmente distintas.
Embora aplicado apenas a problemas envolvendo RSOs, o método proposto pode
ser facilmente adaptado para outros domı́nios de aplicação, apenas mudando a maneira como os parâmetros são calculados. No entanto, é necessário considerar algumas
limitações inerentes à estrutura do método aqui proposto, tais como a necessidade de se
obter conhecimento total da rede e a falta de critérios para a seleção das MCs mais apropriadas para compor o método. Além disso, é necessário realizar uma análise de maior
abrangência e com um maior número de MCs para avaliar o aumento de complexidade do
método, bem como potenciais vantagens.
Nesse sentido, trabalhos futuros objetivam expandir o método, englobando um
maior conjunto de MCs, bem como realizar uma análise comparativa com outros métodos
multicriteriais, tais como AHP [Saaty 2004] e Redes Bayseanas [Heckerman 1996], que
devido à limitação no número de páginas do artigo, não optou-se por abordar. Além
disso, trabalhos futuros objetivam realizar a redução do custo computacional associado
ao método proposto através da aplicação de estratégias de otimização, como por exemplo
heurı́sticas e exponenciação de matrizes.
Referências
Abbasi, A. and Hossain, L. (2013). Hybrid centrality measures for binary and weighted networks. In 3rd International Workshop on Complex Networks (CompleNet’12),
pages 1–7, Florida, USA.
Bastian, M., Heymann, S., and Jacomy, M. (2009). Gephi: An open source software for
exploring and manipulating networks. California, USA.
Bavelas, A. (1948). A mathematical model of group structure. Human Organizations,
7:16–30.
Bonacich, P. (1972). Factoring and weighting approaches to status scores and clique
identification. Journal of Mathematical Sociology, 2(1):113–120.
Bonacich, P. (1987). Power and centrality: A family of measures. American Journal of
Sociology, 92(5):1170–1182.
Borgatti, S. P. (2005). Centrality and network flow. Social Networks, 27(1):55–71.
Costenbader, E. and Valente, T. W. (2003). The stability of centrality measures when
networks are sampled. Social Networks, 25(4):283–307.
de Valck, K., van Bruggen, G. H., and Wierenga, B. (2009). Virtual communities: A
marketing perspective. Decision Support Systems, 47(3):185–203.
Degila, J. R. and Sanso, B. (2004). A survey of topologies and performance measures for
large-scale networks. Communications Surveys Tutorials, IEEE, 6(4):18–31.
Freeman, L. C. (1978). Centrality in social networks: conceptual clarification. Social
Networks, 1(3):215–239.
65
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Freeman, L. C. (2004). The Development of Social Network Analysis: A Study in the
Sociology of Science. Empirical Press, Vancouver, Canada.
Freeman, L. C., Roeder, D., and Mulholland, R. R. (1979). Centrality in social networks:
II. experimental results. Social Networks, 2(2):119–141.
Gomez, D., Figueira, J. R., and Eusebio, A. (2013). Modeling centrality measures in social network analysis using bi-criteria network flow optimization problems. European
Journal of Operational Research, 226(2):354–365.
Guimarães, A. a., Vieira, A. B., Silva, A. P. C., and Ziviani, A. (2013). Fast centralitydriven diffusion in dynamic networks. In 22nd Int. Conf. on World Wide Web, pages
821–828.
Hage, P. and Harary, F. (1995). Eccentricity and centrality in networks. Social Networks,
17(1):57–63.
Heckerman, D. (1996). A tutorial on learning with bayesian networks. Technical report,
Learning in Graphical Models.
Heidemann, J., Klier, M., and Probst, F. (2012). Online social networks: A survey of a
global phenomenon. Computer Networks, 56(18):3866–3878.
Henttonen, K. (2010). Exploring social networks on the team level – a review of the
empirical literature. Journal of Engineering and Technology Management, 27(2):74–
109.
Konect (2013). The koblenz network collection. http://konect.uni-koblenz.de/.
Korhonen, P., Moskowitz, H., and Wallenius, J. (1992). Multiple criteria decision support
- a review. European Journal of Operational Research, 63(3):361–375.
Landherr, A., Friedl, B., and Heidemann, J. (2010). A critical review of centrality measures in social networks. Business & Information Systems Engineering, 2(6):371–385.
Montgomery, D. C. and Runger, G. C. (2011). Applied Statistics and Probability for
Engineers. John Wiley & Sons, New Jersey, USA.
Newman, M. J. (2005). A measure of betweenness centrality based on random walks.
Social Networks, 27(1):39–54.
Saaty, T. L. (1996). Decision making with dependence and feedback: The analytic
network process. RWS Publications, Pittsburgh, USA.
Saaty, T. L. (2004). Decision making – the analytic hierarchy and network processes
(ahp/anp). Journal of Systems Science and Systems Engineering, 13(1):1–35.
SNAP (2013). Stanford network analysis project. http://snap.stanford.edu/.
Strogatz, S. H. (2001). Exploring complex networks. Nature, 410(6825):268–276.
Valente, T. W., Coronges, K., Lakon, C., and Costenbader, E. (2008). How correlated are
network centrality measures? Connections (Toronto, Ont.), 28(1):16–26.
Wasserman, S. and Faust, K. (1994). Social network analysis: methods and applications.
Cambridge University Press, New York, USA.
Wilson, R. F. (2000). The six simple principles of viral marketing. Web Marketing Today,
70(1):1–3.
66
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Análise de Risco em Redes P2P baseada em KPIs de
Colaboração e de Infraestrutura
Rafael Giordano Vieira1 , Omir Correia Alves Junior1 and Adriano Fiorese1
1
Departamento de Ciência da Computação
Universidade do Estado de Santa Catarina (UDESC) – Joinville – SC – Brazil
{rafaelgiordano12, omalves, adriano.fiorese}@gmail.com
Abstract. The development of collaborative networked environments has become a key factor for Service Providers (SPs) successfully leverage their business activities. Nevertheless, the volatility of these networks leads to several
additional risks, that need to be identified, measured, and mitigated through a
well-defined process. In this sense, this paper presents a supporting decision
method for selecting the most suitable SPs within a P2P network, taking into
account a risk analysis based on collaboration and infrastructure KPIs to compose Virtual Organizations (VOs). A computational prototype was also specified
and used to execute a set of tests to assess the proposed risk analysis method.
Resumo. O desenvolvimento de ambientes colaborativos em rede tornou-se um
fator chave para que Provedores de Serviços (PSs) possam alavancar com sucesso suas atividades de mercado. No entanto, a volatilidade dessas redes propicia diversos riscos adicionais, que precisam ser identificados, medidos e mitigados através de um processo bem definido. Nesse sentido, este artigo apresenta
um método de apoio à tomada de decisão que realiza a seleção de PSs em redes
P2P, levando em conta uma análise de risco baseada em KPIs de colaboração e
de infraestrutura de redes para a composição de Organizações Virtuais (OVs).
Um protótipo computacional também foi desenvolvido para executar um conjunto de simulações de modo a avaliar a eficiência do método proposto.
1. Introdução
Nos últimos anos, a prestação de serviços tornou-se uma das principais fontes de receitas
em toda a Internet. Em particular, a evolução das Redes de Sobreposição de Serviços
P2P (P2P SON) [Duan et al. 2003, Fiorese et al. 2012] têm proporcionado um ambiente
favorável para que os Provedores de Serviços (PSs) possam tornar os seus serviços disponı́veis à comunidade de usuários em geral. A combinação das redes P2P e SON oferece
um elevado potencial para o gerenciamento de serviços, impulsionada pela criação de redes dinâmicas e auto-organizáveis entre os diversos PSs. Além disso, uma grande variedade de serviços pode ser disponibilizada nessas redes, onde preço e qualidade podem ser
diferenciais competitivos [Zhou et al. 2005].
O conceito de P2P SON se aplica a uma ampla gama de aplicações de rede. Este
artigo lida particularmente com um tipo de aplicação de rede especı́fico, denominada
Organização Virtual (OV). Uma OV pode ser entendida como uma aliança estratégica
dinâmica e temporária, formada por empresas autônomas, heterogêneas e, geralmente,
67
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
geograficamente dispersas, criadas para atender uma oportunidade de negócio especı́fica
[Mowshowitz 1997, Camarinha-Matos and Afsarmanesh 2005]. Neste sentido, uma P2P
SON proporciona um ambiente para a formação das OVs e ao mesmo tempo fornece
benefı́cios para os PSs que a compõem, ou seja, proporciona a partilha de custos, largura
de banda, dentre outros[Duan et al. 2003].
Embora as vantagens proporcionadas pela utilização de P2P SONs possam melhorar o processo de formação de uma OV, a grande volatilidade presente na estrutura de uma
OV implica em alguns riscos adicionais, que possuem fontes incertas quando comparadas
a estilos tradicionais de cooperação [Alawamleh and Popplewell 2010]. Por esta razão, a
formação de uma OV não é garantida e necessita do apoio de métodos que quantifiquem o
risco envolvido e para tanto necessitam de um ou mais critérios para análise, apoiado por
um conjunto de Indicadores de Desempenho Chave (do inglês, Key Performance Indicators, ou KPIs) [Junior and Rabelo 2013]. A utilização desses métodos, além de propiciar
menor nı́vel de subjetividade na análise, se mostram adequados especialmente quando se
trata de redes de serviços mais complexas [Neely et al. 1997].
Este artigo apresenta uma pesquisa que complementa os trabalhos de
[Fiorese et al. 2012] e [Junior and Rabelo 2013] e tem como objetivo responder como
analisar adequadamente os riscos no processo de formação de uma OV, dado um conjunto de PSs pré-selecionados. Nesse sentido, este trabalho consiste na adição de uma
camada adicional com o objetivo de realizar o gerenciamento de riscos no processo de
busca e seleção de PSs, através da concepção de um novo método de análise de risco,
chamado MAR-SP (Multicriteria Risk Analysis method for selecting Service Providers in
P2P SONs). No método proposto, os PSs são avaliados em duas etapas, tanto individualmente como coletivamente. O objetivo do método é medir o nı́vel de risco através de
KPIs de colaboração e de infraestrutura em P2P SONs, a fim de identificar quais os PSs
oferecem menor nı́vel de risco para a formação de uma nova OV. Isto irá permitir que os
tomadores de decisão possam decidir com um nı́vel menor de subjetividade quais PSs devem ser descartados de forma eficaz para uma determinada oportunidade de colaboração.
As demais seções deste artigo estão organizadas da seguinte forma: a Seção 2
aborda o problema da integração e seleção dos PSs no contexto de análise de risco em
OVs. A Seção 3 descreve o método proposto para análise de risco em OVs. A Seção 4
apresenta os experimentos realizados para avaliar o método proposto e também apresenta
resultados preliminares. Finalmente, a Seção 5 conclui e discute trabalhos futuros.
2. Trabalhos Relacionados
2.1. Integração de Provedores de Serviços
Como citado na Seção 1, diferentes PSs podem ser integrados em uma OV e colaborar
entre si a fim de atender um determinado objetivo – também referido como uma Oportunidade de Colaboração (OC) [Camarinha-Matos and Afsarmanesh 2005]. Esses PSs
podem compreender desde organizações não governamentais até entidades de software
autônomas, possuindo diferentes objetivos, mas que compartilham competências, recursos, informações e eventuais riscos, permitindo-lhes realizar seus objetivos comuns. O
ciclo de vida de uma OV é composto por quatro fases (criação, operação, evolução e
dissolução) [Camarinha-Matos and Afsarmanesh 2005], sendo que este trabalho se concentra na fase de criação. A fase de criação de uma OV é composta por sete etapas, como
68
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
pode ser visualizado na Figura 1. Nesse sentido, esse trabalho insere-se na etapa de Busca
e Seleção de Parceiros (cı́rculo à esquerda da Figura 1).
Oportunidade de
Colaboração
BPSS
BPSS
OCIdentif.
Identif.&&
OC
Caracteriz.
Caracteriz.
Análisede
deRisco
Risco
Análise
Formação do Consórcio
Planejamento
Planejamento
Inicial
Inicial
Busca e
Seleção de
Parceiros
Negociação
Negociação
Planejamento
Planejamento
Detalhado
Detalhado
Contratação
Contratação
Lançamento
Lançamento
Figura 1.
Etapas para a criação
[Camarinha-Matos and Afsarmanesh 2005]
de
uma
OV.
Adaptado
de
O processo de colaboração entre os PSs em uma OV é realizado por meio de
interações entre seus processos de negócio, que são usualmente suportados por uma infraestrutura de rede. Esta pesquisa aborda a utilização de P2P SONs como infraestrutura para
suportar a criação de uma OV. Considera-se também que os procedimentos para a busca
e seleção dos PSs para compor uma OV é realizada pela arquitetura de gerenciamento de
serviços (desenvolvida em [Fiorese et al. 2010]) chamada OMAN [Fiorese et al. 2010],
dando ênfase em seu módulo especı́fico (BPSS) que realiza a seleção dos PSs mais adequados na P2P SON [Fiorese et al. 2012].
O módulo BPSS tem como principal objetivo selecionar um PS a partir do conjunto de PSs encontrados que fornecem o serviço requerido de acordo com um indicador
de desempenho especı́fico. O método proposto para a análise de risco utiliza o módulo
BPSS a fim de obter um conjunto de PSs (um para cada serviço), quando considerando os
diferentes tipos de serviços necessários para compor uma OV.
2.2. Risco em Organizações Virtuais
O problema na escolha dos PSs mais adequados para compor uma OV é crucial. O ambiente em que os PSs realizam suas atividades é caracterizado por uma série de fontes de
risco, podendo ser elas provenientes de origem econômica, social, polı́tica, como também
riscos na própria infraestrutura da rede. O conceito de risco pode ser apresentado através
de diferentes perspectivas [March and Shapira 1987, Mowshowitz 1997]. Quando aplicado no contexto desta pesquisa, o risco pode ser visto como uma composição de três elementos básicos: o ambiente onde ele pode acontecer, a sua probabilidade de ocorrência,
e o âmbito do seu impacto no caso da sua ocorrência [Vose 2008].
Na literatura, alguns trabalhos relacionados à análise de risco em OVs foram identificados. Em [Alawamleh and Popplewell 2010], treze indicadores foram identificados
como potenciais fontes de risco em OVs, sendo identificada a importância de cada um
deles. Em [Li and Liao 2007] foram especificadas duas fontes de risco (externo e interno)
69
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
e a probabilidade de ocorrência de riscos no ciclo de vida da OV foi calculada com base
nelas. Em [Grabowski and Roberts 1998], foi discutido o problema da mitigação do risco
em OVs, sendo definido quatro processos para melhorar o seu nı́vel de confiabilidade.
Apesar das contribuições nos trabalhos aqui apresentados, nenhum deles de alguma maneira formalizou como os KPIs propostos podem ser usados ??nem dispôs de
meios para quantificar os riscos envolvidos na composição de uma OV formada particularmente por PSs. Além disso, com o melhor de nosso conhecimento, não foi identificado
propostas que especificam um método ou procedimento que tem como objetivo sistematizar o processo de qualificação/quantificação do risco envolvido na busca e seleção de PSs
para a formação de uma OV. Portanto, este trabalho apresenta como contribuição uma
maneira de especificar KPIs junto com um método matemático que permitem medir o
risco na formação da OV.
Nesse sentido, o processo para a criação de uma OV apresentado na Figura 1 foi
estendido pela adição de duas sub-etapas na etapa de Busca e Seleção de Parceiros. A
primeira subetapa compreende o módulo BPSS (Seção 2.1), sendo utilizado para fornecer
um ambiente para a busca e seleção dos PSs. Em seguida, a segunda subetapa introduz
um processo que compreende a análise de risco (cı́rculo direita na Figura 1). Nesse caso,
dada uma OV em formação, um conjunto de indicadores de desempenho adequados são
inicialmente selecionados, e a seleção final irá considerar a perspectiva de risco.
A forma como o risco é representado deve estar estritamente alinhado com os
objetivos de cada organização. Portanto, através da pesquisa bibliográfica realizada
identificou-se seis fontes de risco que estão associadas às OVs e que foram propostas
por [Alawamleh and Popplewell 2010] e [Fiorese et al. 2013]. Estas fontes de risco são
referentes aos aspectos de colaboração entre os PSs e de aspectos relacionados à infraestrutura das redes P2P. As fontes de riscos quando relacionadas à colaboração são: a
confiança, a comunicação e o comprometimento [Alawamleh and Popplewell 2010]:
• Confiança: O grau de confiança que existe entre os parceiros se relaciona diretamente com a quantidade de parceiros acreditam na honestidade, generosidade e
competência global dos outros.
• Comunicação: A comunicação entre os PSs de uma OV está diretamente ligado
ao fornecimento de informações corretas sobre produtos e serviços, colaborando
na solução de conflitos, riscos, etc.
• Comprometimento: O comprometimento está diretamente relacionado com as
atitudes dos PSs uns com os outros em uma OV, ou seja, considera as contribuições
e os acordos feitos por e entre eles para um negócio.
Além das fontes de risco relacionadas aos aspectos de colaboração, é necessário
levar em conta que, devido ao fato de o processo para a busca e seleção ser destinado a PSs
que oferecem, na maioria, serviços de rede (principalmente na Internet), os indicadores
de risco utilizados neste trabalho também devem levar em conta critérios que fornecem
garantias de QoS (Qualidade de Serviço) para todos os outros PSs que irão compor a
OV (indicadores de infraestrutura aplicado a redes P2P). Por esta razão, os seguintes
indicadores foram escolhidos [Fiorese et al. 2013]:
• Distância: Representa a distância Euclidiana entre os PSs. Ela baseia-se no modelo de atraso de Internet [Kaune et al. 2009] (delay na troca de mensagens), onde
70
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
os PSs são colocados em um plano cartesiano, utilizando métricas de desempenho
de rede, juntamente com as suas coordenadas geográficas para analisar a distância
entre eles.
• Atraso: Consiste no tempo que um pacote leva para sair da sua origem, passar por
uma rede (roteadores e enlaces) e chegar ao destino. O atraso é dado pela soma
dos tempos de processamento, atraso de fila, de transmissão e o de propagação.
• Jitter: O jitter é a variação estatı́stica do atraso na entrega de dados.
Por uma questão de quantificação, as seis fontes de risco especificadas nesse trabalho serão vistas como KPIs, sendo três delas (confiança, comunicação e comprometimento) definidas sob o termo de KPIs de Colaboração entre os PSs e outras três delas
(distância, atraso e jitter) definidas sob o termo KPIs de Infraestrutura para redes P2P.
Além disso, seus valores são calculados e providos de acordo com a metodologia apresentada em [Junior and Rabelo 2013].
3. Método Proposto
O método concebido para a análise de risco é apresentado na Figura 2. Ele começa
tendo como entrada uma lista com os PSs pré-selecionados mais adequados (por meio da
simulação BPSS) em um ambiente P2P SON. O principal objetivo do método de análise
de risco proposto é acrescentar uma outra dimensão de apoio para a tomada de decisões,
identificar e medir o quão arriscado é cada um desses candidatos (PSs) envolvidos na
formação de uma nova OV. O método divide o problema em dois estágios: o primeiro
estágio consiste na análise de risco individual através aplicação do método ETA (Event
Tree Analysis) [Ericson 2005] para cada grupo de KPIs (Colaboração e Infraestrutura). O
segundo estágio realiza a análise de risco levando em conta um conjunto de PSs como um
todo, através da aplicação do método AHP (Analytic Hierarchy Process) [Saaty 2004].
3.1. Análise de Risco Individual
No primeiro estágio do método MAR-SP é realizada a análise de risco individual para
cada PS pré-selecionado (através do BPSS). O método ETA é particularmente adequado
para a análise de risco de sistemas em que existam interações entre os vários tipos de
eventos probabilı́sticos, sejam eles dependentes ou independentes [Ericson 2005]. Ela
utiliza uma representação visual baseada em uma estrutura lógica em forma de árvore,
conhecida como árvore de eventos (ET), como mostrada no Estágio 1 da Figura 2.
Uma ET consiste em uma árvore de probabilidades (binária) que admite duas
possı́veis condições: sucesso e fracasso. Ela possui três componentes básicos, que são:
evento inicial (EI); eventos intermediários; e os possı́veis resultados. O evento inicial
corresponde ao evento que dá inı́cio ao processo de formação da ET. Nesse trabalho, o
EI corresponde à pré-seleção de um PS e a probabilidade associada a esse evento (PEI ) é
sempre igual a 1 (ou 100 %) [Ericson 2005].
O próximo passo consiste em especificar os eventos intermediários para cada uma
das duas ETs que serão construı́das, onde esses eventos são representados pelos dois grupos de (três) KPIs apresentados na Seção 2: confiança, comunicação e comprometimento
para a ET de Colaboração; e distância, atraso e jitter para a ET de Infraestrutura (Estágio
1 da Figura 2). Estes eventos são utilizados para quantificar a eficácia de um determinado
71
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Análise de Risco Individual
Análise Coletiva do Risco
Event Tree Analysis (Estágio 1)
Evento Inicial
(PS Pré
Selecionado)
P (K )
P (K 12 )
P (K 13 )
P (K 11 )
P (K 13 )
P (K 12 )
P (K 13 )
1
3
P (K )
P (K 12 )
P (K 13 )
P (K 11 )
P (K 13 )
P (K 12 )
P (K 13 )
PEI = 1.0
Hierarquia do Método AHP
Árvore de Eventos para KPIs de Colaboração
Eventos Intermediários
Saídas (P1)
1
1
1
K1
K2
K3
1
3
PS2
Analytic Hierarchy Process (Estágio 2)
Alternativas
P 11 = P (K 11 ) .P (K 12 ) .P (K 13 )
1
1
1
P 12 = P (K 1 ) .P (K 2 ) .P (K 3 )
1
1
1
P 13 = P (K 1 ) .P (K 2 ) .P (K 3 )
P 14 = P (K 11 ) .P (K 12 ) .P (K 13 )
P 15 = P (K 11 ) .P (K 12 ) .P (K 13 )
P (K 23 )
P (K 23 )
P (K 21 )
P (K 23 )
P (K 22 )
P (K 23 )
2
3
P (K )
P (K 22 )
P (K 23 )
P (K 21 )
P (K 23 )
P (K 22 )
P (K 23 )
W1
PS1
S1 = P 1 • P2
PS2
S2 = P 1 • P2
W2
PS3
S3 = P1 • P2
W3
1
P 6 = P (K 11 ) .P (K 12 ) .P (K 13 )
P 17 = P (K 11 ) .P (K 12 ) .P (K 13 )
P 18 = P (K 11 ) .P (K 12 ) .P (K 13 )
Árvore de Eventos para KPIs de Infraestrutura
Eventos Intermediários
Saídas (P2)
2
2
2
K1
K2
K3
P (K 22 )
Objetivo (ROV)
W
ROV
(Risco Global)
P 21 = P (K 21 ) .P (K 22 ) .P (K 23 )
2
2
2
P 22 = P (K 1 ) .P (K 2 ) .P (K 3 )
2
2
2
P 23 = P (K 1 ) .P (K 2 ) .P (K 3 )
P 24 = P (K 21 ) .P (K 22 ) .P (K 23 )
P = P (K
2
5
2
1
) .P
(K
2
2
) .P
2
3
(K )
2
P 6 = P (K 21 ) .P (K 22 ) .P (K 23 )
P 27 = P (K 21 ) .P (K 22 ) .P (K 23 )
P 28 = P (K 21 ) .P (K 22 ) .P (K 23 )
PS – Provedor de Serviços
Si = P1 • P2 – Produto Escalar entre elementos de P1 e P2 para PSi
P(KXY) – Probabilidade do KPI XY
Wi – Importância do PSi , 0 ≤ Wi ≤ 1
ROV – Nível de risco da OV
Figura 2. Visão geral do método MAR-SP.
PS sob ambos os aspectos de colaboração e de infraestrutura e também para gerar as duas
ETs, atribuindo probabilidades de sucesso e falha a cada uma delas.
O critério para atribuir a probabilidade de sucesso dos KPIs para cada PS leva
em conta a análise histórica de valores dos KPIs que foram atribuı́dos ao PS nas últimas
participações em OVs [Pidduck 2006, Goranson 1999]. Essa análise baseia-se fundamentalmente em inferências estatı́sticas por meio da quantificação tanto de uma tendência
central quanto da variabilidade dos valores históricos. A análise de tendência central é realizada através do cálculo de uma média exponencialmente ponderada (MEP)
[Montgomery and Runger 2011] para cada grupo G de valores históricos de KPIs de um
determinado PS (G = 1 para KPIs de Colaboração; G = 2 para KPIs de Infraestrutura).
A MEP é muito utilizada em análise de risco financeiro e de gestão da cadeia de
suprimentos, sendo popular na prática devido à sua simplicidade, eficiência computacional e precisão razoável (dando mais importância para os valores mais recentes em um
fator exponencial) [Montgomery and Runger 2011]. A MEP para um KPI k de um PS p
é formalmente definida pela Equação 1:
X̄kG (p)
Pn
x i wi
= Pi=1
n
i=1 wi
(1)
onde x = {x1 , x2 , ..., xn } corresponde a um conjunto não vazio com n valores
72
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
históricos de KPIs e w representa uma constante de decaimento exponencial normalizada.
Após calcular a MEP para cada KPI de cada PS, é definido um valor denominado Índice
Máximo de Qualidade (IMQ), que é atribuı́do como o valor mais alto entre todos os
resultados obtidos com a MEP de um determinado KkG para diferentes PSs (ou seja, para
p = 1, 2, ...). O IMQ é usado como uma referência de desempenho (limiar) para todos os
outros PSs que serão avaliados. Neste sentido, considerando k o número de KPI utilizados
em cada grupo (três) e p o número de PSs associados aos dois grupos de KPIs, a Equação
2 define o processo de cálculo do IMQ:
G
IM QG
k = maxk X̄k (p)
∀p ∈ P S
(2)
Por exemplo, as Figuras 3(a) e 3(b) apresentam dois gráficos com os valores
hipotéticos dos KPIs de confiança (evento intermediário K11 na ET de Colaboração) e
distância (evento intermediário K12 na ET de Infraestrutura) associado a um PS. Tomando
como exemplo a Figura 3(a), o valor do IMQ calculado para este KPI é de 6.7 (dentre
todos as MEPs calculadas para este KPI, este valor é o valor mais alto). No entanto,
é evidente que, quando se leva em conta apenas o valor do IMQ, ou seja, a MEP mais
elevada, apenas alguns valores de KPIs da série história dos demais PSs atingirão uma
probabilidade de sucesso aceitável. Por esta razão, uma métrica de variabilidade tornase bem adequada, sendo representada pelo desvio-padrão (DP) do IMQ. Portanto, serão
considerados para análise, além dos valores acima de 6.7, mas também o intervalo que
compreende 6.7 − 2.4 = 4.3 (DP = 2.4) (Figura 3(a)).
10
10
Intervalo considerado para análise
Índice Máximo de Qualidade (IMQ)
8.0
8
8
7.3
7.6
7.1
7.0
5.8(*)
Valor do KPI
Valor do KPI
IMQ = 6.7
6
Intervalo considerado para análise
Índice Máximo de Qualidade (IMQ)
8.8
4.6(*)
4
3.4
DP = 2.4
IMQ = 6.1
6
5.3(*)
4
3.6(*)
DP = 2.6
2.5
2
0
2
OV1
OV2
OV3
OV4
OV5
...
0
OVn
OV1
Participações anteriores em OVs
OV2
OV3
OV4
OV5
...
OVn
Participações anteriores em OVs
(a) KPI de confiança (Colaboração)
(b) KPI de distância (Infraestrutura)
Figura 3. Valores históricos para os KPIs de confiança e distância de um PS.
Os valores atribuı́dos para cada KPI de cada grupo estão normalizados e podem
variar de 0 a 10, associados à probabilidade de sucesso que varia entre 0 e 1, respectivamente. Assim, assumindo que cada PS participou de NP A OVs anteriores e que nR
representa o número de participações anteriores de um PS em OVs em que os seus valores
G
de KPIs são superiores a IM QG
k − DPk (marcados com um asterisco nas Figuras 3(a) e
3(b)), a Equação 3 calcula a probabilidade de sucesso dos KPIs para a participação atual.
P r (K) =
73
nR
nP A
(3)
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
A probabilidade de falha para um determinado KPI é representado como P r K̄
pela seguinte equação:
P r K̄ = 1 − P r (K)
(4)
De acordo com a Figura 2, as probabilidades de sucesso e falha são calculadas
para todos os dois grupos de KPIs que compõem as ETs de Colaboração (ET superior)
e de Infraestrutura (ET inferior) de um PS, que são representadas por dois grupos de
três eventos (KPIs) intermediários (e independentes uns dos outros) que preenchem as
duas ETs. O evento K21 , por exemplo, está relacionado ao KPI de comunicação (ET de
Colaboração), com as probabilidades de sucesso e insucesso em P (K21 ) e 1 − P (K21 ),
respectivamente. Já o evento K32 está relacionado ao KPI de jitter (ET de Infraestrutura),
com as probabilidades de sucesso e insucesso em P (K32 ) e 1 − P (K32 ), respectivamente.
Depois de atribuir todas as probabilidades para todos os ramos de cada uma das
duas ETs, é necessário identificar se os PSs são minimamente qualificados para compor
uma OV. Para isso, é realizado um cálculo para obter as probabilidades finais para todas
as combinações de eventos que compõem as ETs. No método ETA, os eventos ocorrem
de forma independente, ou seja, onde a ocorrência de um evento não afeta a ocorrência
de outro evento. Assim, elas são determinadas para cada um dos 2|K| ramos de cada ET
através da multiplicação das probabilidades de eventos que compõem cada caminho. A
partir do conjunto de resultados obtido em cada uma das ETs, aplica-se o produto escalar
nos resultados obtidos nos dois conjuntos para obter o nı́vel de risco de cada PS.
Os conceitos apresentados podem ser formalizados da seguinte forma:
Seja P S = {P S1 , P S2 , ..., P Sn } um conjunto de n PSs previamente selecionados, onde cada elemento deste conjunto está associado
de atividade
a um tipo diferente
G
um conjunto de
de serviço que está sendo solicitado. Seja K G = K1G , K2G , ..., Km
m KPIs, onde para G = 1 tem-se associado os m KPIs de Colaboração e para G = 2
tem-se associado os m KPIs de Infraestrutura, todos eles associados a um P Sn , e ρ K G
a função de probabilidade associada a cada evento em K G (como definido na Equação 3).
Agora, considere P G = P1G , P2G , ..., P2G|K| como um conjunto de todos os resultados possı́veis das 2|K| combinações entre |K| (número de elementos em K) eventos
de cada ET. O procedimento para a obtenção deste conjunto foi realizado utilizando uma
Árvore de Busca Binária (ABB) [Bentley 1975], que percorre 2|K| caminhos diferentes e
atribui um valor para cada elemento de P G , como mostrado na Equação 5:
PG =
|K|
2[

PEI ∗
k=1
|K|
Y

ω(i, j, k, l)
(5)
l=1
onde PEI é a probabilidade inicial do P Sn . A função ω, apresentada na Equação
6, corresponde a um vetor de 4 dimensões que realiza uma busca binária em cada árvore,
retornando um elemento do caminho a cada iteração. Os valores i e j correspondem
aos ı́ndices de inı́cio e fim da busca e possuem valores iniciais de i = 0 e j = 2|K| ,
respectivamente. O valor k corresponde ao ı́ndice do elemento buscado (um elemento de
74
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
P G ) e o elemento l ao nı́vel atual da árvore. A sequência dos eventos pode ser visualizada
nas duas ETs no Estágio 1 da Figura 2.
P r KlG ;j = c,
k≤c
1 − P r KlG ; i = c, k > c
ω (i, j, k, l) =
(6)
onde c = (i + j)/2. Após serem definidas para um P Sn todas as possı́veis saı́das
P G e calculadas suas respectivas probabilidades, aplica-se um cálculo de produto escalar
sobre todos os elementos P 1 , P 2 , ..., P G (nesse artigo, apenas P 1 e P 2 ), como formalizado na Equação 7. A utilização do produto escalar como operação entre os diferentes
conjuntos P é justificada pela possibilidade da ocorrência simultânea entre dois eventos
iguais, porém em ETs diferentes. Por exemplo, supondo que no Estágio 1 da Figura 2,
P11 = 0.7 (ET de Colaboração), o que representaria uma probabilidade de 70% de chance
de a combinação de três eventos (sucesso para K11 , K21 e K31 ) ocorrerem. De maneira
semelhante, se P12 = 0.8 (ET de Infraestrutura), significaria que a mesma sequência de
eventos (sucesso para K12 , K22 e K32 ) também ocorreu. Assim, empregando-se o produto
escalar entre os (dois) conjuntos P 1 e P 2 , pode-se obter o nı́vel de risco final do provedor
de serviço P Sn (que é representado por Sn ):
|K|
1
2
Sn = P · P · ... · P
G
=
2
X
Pi1 Pi2 ...PiG
(7)
i=1
Os valores finais das probabilidades obtidas pela Equação 7 irão ser usados para
medir e analisar o risco do PS coletivamente.
3.2. Análise de Risco Coletiva
O segundo estágio do método MAR-SP agrega os resultados providos pelo primeiro
estágio (isto é, o nı́vel de risco Sn de cada PS pré-analisado) para calcular o nı́vel global de risco da OV, aplicando para isso o método AHP (Analytic Hierarchy Process)
[Saaty 2004] como pode ser visualizado no Estágio 2 da Figura 2. No método AHP, os
problemas estão dispostos em uma hierarquia, que tem inı́cio a partir do elemento mais
geral (geralmente o objetivo) para os mais especı́ficos (geralmente as alternativas). Neste
trabalho, o AHP é modelado de maneira simplificada através de dois componentes: o objetivo e as alternativas. O objetivo do método AHP consiste em determinar o nı́vel global
de risco da OV. As alternativas consistem nos nı́veis de risco individuais de cada PS (Sn ),
obtidas através da análise de risco individual (Estágio 1 da Figura 2).
Para cada alternativa Si há também um peso Wi correspondente, que determina o grau de importância de cada P Si sendo analisado em relação à OV. Nesse
trabalho, o grau de importância de cada PS é determinado por uma entidade externa denominada gestor da OV, que é vista como o principal tomador de decisões
[Camarinha-Matos and Afsarmanesh 2005]. Por exemplo, dado uma OV sendo formada
a partir de três PSs (como ilustrado na Figura 2), cada PS terá um nı́vel de importância
(peso) dentro da OV. Nesse sentido, o gestor da OV pode alterar os pesos Wi de acordo
com o grau de importância que será atribuı́do a cada P Si que irá compor a OV. Estas
caracterı́sticas aumentam a robustez do método em relação às demais técnicas, determinando coletivamente a influência que cada PS possui dentro da OV e como o nı́vel de risco
75
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
de cada um deles irá impactar no nı́vel de risco geral da OV. Nesse sentido, W1 , W2 , ..., Wn
é o peso de cada alternativa S1 , S2 , ..., Sn associada ao objetivo. O objetivo geral (medir o
nı́vel de risco da OV) é representado por ROV cujo procedimento de cálculo simplificado
é apresentado na Equação 8:
ROV =
n
X
Wi ∗ Si
(8)
i=1
A partir do cálculo apresentado na Equação 8, obtêm-se o nı́vel global de risco na
formação da OV em questão, considerando a importância de cada PS no processo.
4. Avaliação
4.1. Protótipo Computacional
Para viabilizar a implementação e geração dos resultados, foi desenvolvido um protótipo
computacional que integra as funcionalidades providas pelo modelo BPSS e pelo método
de análise de risco proposto nesse trabalho (MAR-SP). O protótipo foi dividido em dois
módulos: módulo BPSS (Best Peer Selection Service) [Fiorese et al. 2012] e módulo
DFRA (Decision Framework for Risk Analysis). O primeiro módulo implementa o modelo BPSS desenvolvido por [Fiorese et al. 2010, Fiorese et al. 2012] (ver Seção 2.1), utilizando o simulador de eventos discretos PeerFactSim.KOM [Stingl et al. 2011] como suporte para a criação da infraestrutura P2P SON e para possibilitar o processo de busca e
seleção dos PSs. Já o módulo DFRA tem como foco especı́fico a simulação de métodos de
análise de risco, onde agrupa os PSs pré-selecionados pelo módulo BPSS em potenciais
OVs a serem avaliadas pelo método MAR-SP.
No que diz respeito às especificações técnicas do sistema, o protótipo foi construı́do e os testes foram desenvolvidos em um computador Intel Core i5 3.1GHz, 4.0GB
de memória RAM e Linux Mint 14.1 distribuição de 64 bits.
4.2. Configuração das Simulações
A configuração das simulações adotadas para o cenário de análise de risco seguem as
mesmas estratégias utilizadas para a seleção dos PSs. Os dados foram obtidos a partir
do projeto CAIDA e do banco de dados MaxMind GeoIP [Caida 2013], que fornecem a
localização geográfica (isto é, latitude e longitude) e o delay de cada PS. A partir dessas
métricas são calculados os valores dos KPIs de infraestrutura de rede (largura de banda,
jitter e distância Euclidiana). Os PSs são representados por um conjunto de pares SON
pré-selecionados cujos identificadores (endereços IPs) são distribuı́dos igualmente entre
cinco domı́nios geográficos, correspondentes a cinco paı́ses (Portugal, Espanha, França,
Itália e Alemanha).
Os valores dos KPIs de Colaboração atribuı́dos para cada PS seguem uma
distribuição linear que varia de 0 a 1, com intervalos de 0.01, sendo gerados durante
o procedimento de simulação. A estratégia de distribuição linear para gerar os valores
dos KPIs de colaboração é utilizada principalmente porque empresas são frequentemente
muito variáveis e a implementação dos três KPIs escolhidos (confiança, comunicação e
comprometimento) em cenários reais para lidar com os riscos na OV também depende
da cultura e métodos de trabalho atualmente aplicados pelas organizações envolvidas,
76
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
tornando-se uma difı́cil tarefa. Considera-se também que cada PS participou de 10 OVs
anteriores (em média) quando ele foi selecionado.
Por uma questão de simplicidade, a importância de cada PS em relação à OV é
distribuı́da de maneira igualitária. O intervalo de valores que determina o nı́vel de risco
de sucesso de uma OV (representada por um dentre 100 possı́veis valores) é generalizado pelas seguintes notas de avaliação [Li and Liao 2007]: [0.0; 0.25]: muito baixo (L1 );
[0.25; 0.50]: relativamente baixo (L2 ); [0.50; 0.75]: relativamente alto (L3 ); [0.75; 1.00]:
muito alto (L4 ). Por exemplo, uma OV com um nı́vel global de risco ROV = 0.23 será
expressada pela nota L1 (muito baixo).
4.3. Resultados
Os resultados apresentados nesta seção têm como objetivo avaliar, através da aplicação
do método MAR-SP, o nı́vel de risco para cada OV, dado um conjunto de SPs previamente selecionados no processo de Busca e Seleção de Parceiros. Dada a originalidade
do método, ou seja, dada a falta de métodos na literatura que possibilite uma análise comparativa eficiente, buscou-se direcionar a análise dos resultados a aspectos de desempenho do método, sendo nesse trabalho explorada a sua escalabilidade quanto à variação do
número de PSs que irão compor uma OV. Os procedimentos para a avaliação dessas OVs
são essencialmente divididos em duas fases: 1) Executar o processo de busca e seleção
dos PSs através do módulo BPSS; e 2) Utilizar como entrada os PSs pré-selecionados na
primeira fase e agrupá-los em um consórcio para medir (através dos KPIs de Colaboração
e de Infraestrutura) qual nı́vel de risco terá a possı́vel OV a ser formada por eles.
As simulações envolvem 7 cenários distintos, onde cada cenário representa um
conjunto de simulações realizadas para OVs formadas por n ∈ [3, 8] PSs. A Figura 4
apresenta os resultados preliminares das simulações que envolvem esses 7 cenários (representados pelos números no eixo horizontal), mostrando, para cada cenário: 1) a quantidade de OVs (em percentual) que obtiveram nı́vel de risco associado a cada escala de
avaliação (L1 , L2 , L3 e L4 respectivamente) (eixo vertical à esquerda); e 2) a média dos
valores absolutos de risco de todas as OVs simuladas (eixo vertical à direita). Para viabilizar os resultados, foram realizadas, para cada cenário, simulações que contemplam a
avaliação de 100 OVs formadas a partir de um cenário com 300 PSs em uma P2P SON.
Assim, foram executadas 100 vezes as duas fases anteriormente mencionadas, resultando
em 100 possı́veis OVs a serem analisadas para cada cenário. Além disso, cada simulação
foi repetida 10 vezes a fim de se obter valores médios para o nı́vel de risco de cada OV,
sendo também calculados os valores dos desvios padrão com base em um intervalo de
confiança de 95%.
A partir dos resultados apresentados na Figura 4, verifica-se que a maior parte das
OVs que foram avaliadas possuem um nı́vel de risco muito baixo (L1 ) ou relativamente
baixo (L2 ), sendo esses valores potencializados quando há incremento no número de PSs
para cada OV. A constante classificação de risco baixo para as OVs (L1 e L2 ) reflete
aspectos inerentes ao desempenho individual de cada PS, isto é, um PS pode apresentar
bons indicadores de infraestrutura, no entanto não possuir a colaboração necessária para
assegurar um bom desempenho da OV e vice-versa. Esse fator torna-se predominante para
decidir o risco individual do PS, e consequentemente afetar o desempenho da OV como
um todo. Além disso, a interação com outros PSs propicia um cenário mais arriscado
77
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Quantidade de OVs (em %)
60
100
Muito baixo (L1)
Razoavelmente baixo (L2)
Razoavelmente alto (L3)
Muito alto (L4)
80
45
60
30
40
15
20
0
Nível médio de risco das OVs (em %)
75
0
3
4
5
6
7
8
Número de PSs em cada OV
Figura 4. Distribuição do nı́vel de risco e média das simulações envolvendo 7
diferentes cenários para a formação de OVs
para a formação de uma OV, o que justifica o aumento das escalas L1 e L2 em relação às
escalas L3 e L4 .
No que diz respeito ao nı́vel médio de risco para cada cenário, percebe-se que há
um decaimento constante quando incrementado o número de PSs em cada OV. Isso ocorre
pois quanto mais PSs estão sendo analisados sob a ótica de desempenho dos 6 KPIs, maior
se torna a chance de os PSs previamente selecionados possuı́rem competências em nı́veis
muito diferentes. Como a análise de risco realizada pelo método aqui proposto se baseia
na média apresentada pelos KPIs do PS com a melhor competência, a presença de PSs de
baixa competência diminui consideravelmente o nı́vel de sucesso da OV. Portanto, quanto
maior for o número de PSs compondo a OV, maior a probabilidade de haver diferenças
entre competências, diminuindo assim o nı́vel de risco de sucesso como um todo.
Neste sentido, pode-se concluir que o método favorece uma avaliação mais rigorosa quando está englobado um aumento do número de PSs, e que portanto, deve ser
levado em conta uma maior prevenção e controle do risco, a fim de proporcionar maior
segurança em uma futura operação da OV. Além disso, para todos os PSs que irão compor uma OV, é necessário que todos os seus indicadores possuam valores razoavelmente
aceitáveis, caso contrário eles podem comprometer o bom funcionamento da OV. É importante também destacar que a formação de uma OV com base na escolha de apenas
os PSs consequentemente as melhores taxas de KPIs não é uma escolha muito boa. A
decisão mais sábia é submeter esses PSs escolhidos para uma avaliação de risco. Mais
importante ainda é considerar também as chances de os PSs trabalharem juntos.
5. Conclusão
Este artigo consiste em uma pesquisa que abordou temas relacionados com a identificação
e a mensuração do risco em OVs. De modo geral, a análise de risco tornou-se um ele-
78
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
mento chave no planejamento de uma OV, dado que pequenos erros podem comprometer
sua eficiência como um todo. Por esta razão, foi proposto um novo método para realizar a
análise de risco sobre um conjunto de Provedores de Serviços (PSs) que vão compor uma
Organização Virtual (OV). O presente método, chamado MAR-SP, é composto por duas
fases. A primeira delas realiza a análise de risco individual para cada PS pré-selecionado,
através do método ETA (Event Tree Analysis). Tendo como entrada os resultados da
primeira fase, a segunda fase calcula e analisa o risco global, considerando os PSs coletivamente, utilizando para isso o método AHP (Analytic Hierarchy Process).
A fim de avaliar o comportamento do método MAR-SP, seis KPIs distintos, sendo
três deles relativos aos aspectos de colaboração entre os PSs (confiança, comunicação
e comprometimento) e três deles relativos aos aspectos de infraestrutura de redes P2P
(distância, atraso e jitter) foram considerados na análise para cada PS. As simulações realizadas envolveram diversos conjuntos de PSs pré-selecionados, que foram analisados
a partir dos resultados de [Fiorese et al. 2012]. Os resultados obtidos exploraram o desempenho do método quanto à sua escalabilidade, ou seja, avaliaram como o método se
comporta quando englobado um crescente número de PSs em uma OV. O grau de desempenho necessário para cada PS compor uma OV é alto e é fortemente influenciado tanto
pelos aspectos de colaboração e infraestrutura da rede na qual os PSs estão conectados
como pela quantidade de PSs que estão compondo a OV. Assim, para que uma OV seja
efetivamente formada, deve-se estar alinhado a quantidade de PSs na OV com uma maior
qualidade no quesito colaboração e que também qualidade exigida de serviço de rede.
Da mesma maneira, o método apresentado contribui para uma forma mais concreta e sistematizada de expressar, medir, avaliar e mitigar os riscos na formação de uma
OV, tanto a nı́vel individual como coletivamente, apesar de nesse trabalho se concentrar
apenas em PSs. Além disso, a utilização do método no processo de análise de risco permite realizar uma avaliação com maior transparência e com um nı́vel muito menor de
subjetividade, descartando ou não os PSs, antes de compor uma OV, de acordo com os
critérios estabelecidos. Os próximos passos a partir dos resultados obtidos nesse trabalho
incluem a criação de um framework que engloba a análise de risco não apenas no processo
de busca e seleção, mas que considera todos os aspectos para a formação de uma OV.
Referências
Alawamleh, M. and Popplewell, K. (2010). Risk sources identification in virtual organisation. In Enterprise Interoperability IV, pages 265–277. Springer London.
Bentley, J. L. (1975). Multidimensional binary search trees used for associative searching.
Communications of the ACM, 18(9):509–517.
Caida (2013). Macroscopic topology project.
logy/macroscopic/.
http://www. caida.org/analysis/ topo-
Camarinha-Matos, L. M. and Afsarmanesh, H. (2005). Collaborative networks: a new
scientific discipline. Journal of Intelligent Manufacturing, 16(4-5):439–452.
Duan, Z., Zhang, Z. L., and Hou, Y. T. (2003). Service overlay networks: SLAs, QoS,
and bandwidth provisioning. IEEE/ACM Transactions on Networking, 11(6):870–883.
Ericson, C. A. (2005). Hazard analysis techniques for system safety. Wiley & Sons, New
York, USA.
79
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Fiorese, A., Matos, F., Junior, O. C. A., and Ruppenthal, R. M. (2013). Multi-criteria
approach to select service providers in collaborative/competitive multi-provider environments. Int. J. of Computer Science and Network Security, 13(9):15–22.
Fiorese, A., Simões, P., and Boavida, F. (2010). OMAN – a management architecture
for P2P service overlay networks. In 4th Int. Conf. on Autonomous infrastructure,
management and security, pages 14–25, Zurich, Switzerland.
Fiorese, A., Simões, P., and Boavida, F. (2012). Peer selection in P2P service overlays
using geographical location criteria. In 12th Int. Conf. on Computational Science and
Its Applications, pages 234–248, Salvador de Bahia, Brazil.
Goranson, H. T. (1999). The agile virtual enterprise cases, metrics, tools. Quorum Books,
Westport, CT, USA.
Grabowski, M. and Roberts, K. H. (1998). Risk mitigation in virtual organizations. Journal of Computer-Mediated Communication, 3(4):704–721.
Junior, O. C. A. and Rabelo, R. J. (2013). A KPI model for logistics partners’ search and
suggestion to create virtual organisations. Int. J. of Networking and Virtual Organisations, 12(2):149–177.
Kaune, S., Pussep, K., Leng, C., Kovacevic, A., Tyson, G., and Steinmetz, R. (2009).
Modelling the internet delay space based on geographical locations. In 17th Euromicro
Int. Conf. on Parallel, Distributed and Network-based Processing, pages 301–310,
Weimar, Germany.
Li, Y. and Liao, X. (2007). Decision support for risk analysis on dynamic alliance. Decision Support Systems, 42(4):2043–2059.
March, J. G. and Shapira, Z. (1987). Managerial perspectives on risk and risk taking.
Management Science, 33(11):1404–1418.
Montgomery, D. C. and Runger, G. C. (2011). Applied Statistics and Probability for
Engineers. Wiley & Sons, New Jersey, USA.
Mowshowitz, A. (1997). Virtual organization. Communications of the ACM, 40(9):30–37.
Neely, A., Richards, H., Mills, J., Platts, K., and Bourne, M. (1997). Designing performance measures: a structured approach. Int. J. of Operations & Production Management, 17(11):1131–1152.
Pidduck, A. B. (2006). Issues in supplier partner selection. Journal of Enterprise Information Management, 19(3):262–276.
Saaty, T. L. (2004). Decision making – the analytic hierarchy and network processes
(ahp/anp). Journal of Systems Science and Systems Engineering, 13(1):1–35.
Stingl, D., Gross, C., Ruckert, J., Nobach, L., Kovacevic, A., and Steinmetz, R. (2011).
PeerfactSim.KOM: a simulation framework for peer-to-peer systems. In 13th Int. Conf.
on High Performance Computing and Simulation, pages 577–584, Istanbul, Turkey.
Vose, D. (2008). Risk analysis: a quantitative guide. Wiley & Sons, New Jersey, USA.
Zhou, S., Hogan, M., Ardon, S., Portman, M., Hu, T., Wongrujira, K., and Seneviratne,
A. (2005). Alasa: When service overlay networks meet peer-to-peer networks. In 11th
Asia-Pacific Conference on Communications, pages 1053–1057, Perth, Australia.
80
32º Simpósio Brasileiro de Redes de Computadores e
Sistemas Distribuídos
Florianópolis - SC
IX Workshop de Redes P2P,
Dinâmicas, Sociais e Orientadas a
Conteúdo (Wp2p+)
Sessão Técnica 3
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
SNMP Proxy CCN: Uma proposta de arquitetura para
gerência de redes orientadas a conteúdo interoperável com
sistemas legados
Marciel de Lima Oliveira1, Christian Esteve Rothenberg1
1
Departamento de Engenharia da Computação e Automação Industrial (DCA)
Faculdade de Engenharia Elétrica e de Computação (FEEC)
Universidade Estadual de Campinas (UNICAMP)
Av. Albert Einstein 400, 13083-852 Campinas, SP, Brasil.
[email protected], [email protected]
Abstract. Research efforts on Information-Centric Networking (ICN) mainly
focus on the "data and control plane" challenges compared to the efforts
devoted so far on "management plane". Aiming at addressing this gap, this
paper presents some mapping mechanisms and a proxy tool in order to enable
the management and monitoring of CCN nodes through legacy SNMP-based
systems. This work is a first step towards exploring the management of
content-oriented (name/data) networks that promise better performance
compared to traditional architectures based on addressing network interfaces.
Resumo. Pesquisas voltadas as Redes Orientadas a Conteúdo (ROCs) tem
maior foco nos “planos de dados e controle” em comparação ao “plano de
gerência”. Como contribuição para suprir essa carência, este artigo
apresenta uma proposta de arquitetura NONM (Name-Oriented Network
Management) baseada em mecanismos de mapeamento e uma ferramenta
proxy que permite o gerenciamento e monitoramento de nós de rede CCN
nativas através de sistemas de gerência de redes SNMP legadas. Desta forma
é possível explorar o conceito de gerencia orientada ao conteúdo
(nomes/dados), que promete melhor desempenho quando comparado com
arquiteturas tradicionais baseadas no endereçamento de interfaces dos nós.
1. Introdução
Com o surgimento de grandes redes de transporte e equipamentos complexos
construídos para tratar diversos serviços como dados, voz e vídeo, surge também o
interesse de monitorar e otimizar o uso destas redes (equipamentos e serviços). Esse
monitoramento é classificado como “plano de gerência” como forma de diferenciá-lo
dos “planos de dado e de controle” responsáveis pela implementação efetiva dos
83
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
serviços oferecidos aos usuários. Parte da instanciação do plano de gerência se dá
através da ideia do centro de operações de redes (NOC) que atua em um regime 24/7
para a operação, manutenção e análise do desempenho das redes e dos respectivos
equipamentos.
O plano de gerência geralmente conta com um sistema de gerência de rede NMS
(Network Management System) central que atua no monitoramento e operação das três
grandes divisões das redes (plano de dados) de equipamentos de telecomunicações,
núcleo (ex.: DWDM), agregação (ex.: MPSL-TP, Metro-Ethernet) e acesso (exe.:
LTE/4G, xDSL, xFTTH). A comunicação entre os sistemas de gerência e os
equipamentos no plano de dados é feita através de uma rede dedicada chamada DCN
(Data Communication Network) e os protocolos de rede TCP/IP são adotados como
padrão para uso nos equipamentos que compõem a DCN (roteadores L3/IP/MPLS e
switches L2/Ethernet/Metro).
O surgimento de recentes trabalhos em Redes Orientadas a Conteúdo (ROCs) representa
um novo paradigma onde o foco das redes é baseado no conteúdo e não mais na sua
localização [1]. As ROCs propõem que o conteúdo seja o elemento central das redes,
independente de sua localização, substituindo o foco de “onde” para “o quê”. Nas
ROCs, a infraestrutura da rede participa ativamente no armazenamento (caching) e na
distribuição dos conteúdos visando um aumento na eficiência da busca e na
disponibilidade dos conteúdos na rede.
As ROCs têm despertado grande interesse no meio acadêmico e dentre várias empresas
e institutos relacionados às pesquisas na área das novas arquiteturas de rede abrindo
espaço para novas aplicações, pesquisas e experimentos, tais como: CCN [2], que
apresenta uma estrutura hierárquica para nomes semelhante às URLs; DONA [3], que
utiliza o mecanismo de nomeação plana e funções de hash criptográfico e LIPSIN [4]
que possui uma arquitetura que identifica os enlaces pelo nome ao invés dos pares de
endereços fim a fim.
O novo paradigma proposto pelas ROCs traz consigo inúmeros desafios [5]. Esse
trabalho foca no ponto de vista de gerência de redes orientadas a conteúdo levando em
consideração a carência, tanto no nível de mecanismos adequados, como na definição de
um plano de gerência para estas redes. O artigo apresenta uma proposta de arquitetura
NONM (Name-Oriented Network Management) que tem como principais destaques a
modelagem da MIB CCN para identificação dos objetos do nó CCN e o mecanismo
SCNAT que converte as mensagens das redes legadas para interação com elementos
nativos da rede CCN.
2. Motivação e Objetivo
A motivação principal deste artigo deve-se à percepção da carência de paradigmas
adequados à gerência de redes orientadas ao conteúdo. Consideramos a possibilidade de
experimentar gerência de redes orientadas a conteúdo com o uso de protocolos e
arquiteturas de gerência utilizados nas redes tradicionais, como por exemplo; TL1,
REST, NETCONF, SNMP, CLI e WEB UI [9, 10, 11], transformando-as em
ferramentas eficientes para a gerencia de redes CCN.
84
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
A arquitetura CCN (Content-Centric Networking) [2] adotada como referência nesse
trabalho é reconhecidamente uma das propostas mais relevantes na literatura
relativamente às redes orientadas ao conteúdo. As redes CCN utilizam uma estrutura de
nomes hierárquicos e legíveis (formados por sequências de caracteres e números) para
identificar os conteúdos. Tais nomes possuem características semânticas, ou seja, os
componentes hierárquicos utilizados na identificação trazem algum tipo de informação
sobre o conteúdo como, por exemplo, versão, formato ou propriedade.
Para tornar os sistemas de gerência compatíveis esta proposta define como estratégia a
utilização de label (nome) como identificador único de um nó na rede CCN e o
mapeamento através de um SNMP Proxy [7] entre a arquitetura de gerência da rede
atual com a arquitetura da gerência da rede CCN. A arquitetura NONM (NamedOriented Network Management), tem como principal tarefa compatibilizar a gerência
tradicional baseada no protocolo SNMP (Simple Network Management Protocol) [12,
13] com a gerência de redes CCN.
3. Fundamentos teóricos: CCN e SNMP
Nesta seção são apresentados de forma breve os fundamentos teóricos da arquitetura
CCN e do protocolo SNMP, os principais componentes explorados neste trabalho.
3.1 Características do modelo CCN
O CCN utiliza basicamente dois tipos de pacotes: Interest e Data. O consumidor
expressa seu interesse inserindo o nome do conteúdo desejado em uma mensagem do
tipo Interest e a envia para rede. O produtor, ou algum caching no interior da rede, que
possui tal conteúdo receberá essa mensagem e enviará de volta ao consumidor uma
mensagem do tipo Data como resposta. Ou seja, essas mensagens possuem uma relação
um para um onde um pacote de interesse satisfaz um de dados se o nome de conteúdo
em ambos os pacotes são equivalentes. A Figura 1 mostra uma representação gráfica dos
pacotes do modelo CCN. O pacote Interest pode possuir alguns parâmetros opcionais
como seletores de escopo, preferência de ordem e filtro de exclusão. Um valor aleatório
nonce é utilizado para descartar o recebimento de mensagens duplicadas por interfaces
diferentes, eliminando assim loops da rede. O pacote Data, além do nome e do
conteúdo, também carrega a assinatura e algumas informações opcionais como
identificador do publicador e localização da chave para auxiliar na verificação da
assinatura.
O mecanismo de nomeação permite ao requisitante buscar o conteúdo posicionado em
uma estrutura hierárquica. Caso o conteúdo corresponda a uma versão posterior, basta
solicitá-lo através do identificador, por exemplo: br.youtube/video/filme.avi/1/anterior.
Se o conteúdo corresponder a uma versão posterior basta acessar o próximo "pedaço"
denominado chunk, por exemplo: br.youtube/video/filme.avi/1//1/posterior.
85
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Figura 1. Pacote do CCN (reproduzido de [2]).
Os nós CCN possuem um buffer de memória para cache que busca armazenar os
pacotes de dados o maior tempo possível em uma estrutura denominada CS (Content
Store), uma vez que o mesmo conteúdo pode ser compartilhado por muitos
consumidores. Quando um pacote de interesse chega ao nó, se o conteúdo requisitado
estiver armazenado no cache o pacote de dados é imediatamente encaminhado na
direção onde foi recebido o pacote Interest. Caso contrário, o nó insere o nome do
conteúdo desejado e a interface pela qual o pacote Interest foi recebido na PIT (Pending
Interest Table). A PIT registra, portanto, todos os interesses que passaram pelo nó em
busca do conteúdo para que, quando o pacote de dados for recebido ele possa ser
encaminhado corretamente em direção ao(s) consumidor(es). Apenas interesses são
roteados no CCN; os pacotes de dados simplesmente seguem as entradas na PIT
deixadas no caminho de volta ao consumidor. Estas entradas são apagadas assim que o
pacote de dados correspondente é encaminhado ao consumidor ou por temporização, no
caso em que o interesse não encontra o pacote de dados correspondente. Após registro
na PIT, o pacote de Interest é encaminhado pela FIB (Forwarding Information Base) do
nó através de uma busca de prefixo-mais-longo (longest-prefix match) indicando por
qual interface enviar o pacote de Interest. Caso não haja uma entrada correspondente na
FIB, o Interest é descartado.
A Figura 2 apresenta a estrutura do nó CCN e a dinâmica de encaminhamento.
Figura 2: Arquitetura de roteamento do nó CCN (reproduzido de [2]).
86
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
3.2 Características do SNMP
O protocolo SNMP [12, 13] faz parte da infraestrutura de gerência baseada em três
componentes básicos: entidade gerenciadora, dispositivo gerenciado e o próprio
protocolo de gerência.
1- Entidade gerenciadora ou Gerente NMS. É uma aplicação que controla e coleta as
informações de gerenciamento de uma rede. Um NMS é responsável pelo pooling e
recebimento de traps dos agentes. As solicitações de informação enviadas pelo gerente
na forma de pooling são requisições feitas para um agente por informações gerenciáveis.
A mensagem de trap é enviada pelo agente para o gerente para informar a ocorrência de
eventos relevantes na operação do dispositivo de rede.
2- Dispositivo ou elemento gerenciado. Elemento de rede que faz parte da rede
gerenciada. Neste elemento podem existir diversos objetos gerenciados que são partes
físicas do dispositivo, como uma interface de rede de um roteador, ou mesmo partes do
software como, por exemplo, informações relativas à operação do protocolo de
roteamento. Em cada dispositivo gerenciado existe um agente de gerenciamento que se
comunica com a entidade gerenciadora (gerente) e executa ações específicas de acordo
com solicitações dos gerentes. Para organização dos objetos gerenciados existe uma
base de informação de gerenciamento MIB (Management Information Base) que
disponibiliza para a entidade gerenciadora o conteúdo dos objetos gerenciáveis
disponibilizados pelo dispositivo de rede. Os objetos da MIB são nomeados e
organizados de forma hierárquica de acordo com a estrutura de nomeação da ISO, onde
cada ramo da árvore possui um nome e um número OID (Object Identifier).
3 - Protocolo de gerenciamento de rede. Atua entre o gerente e o agente, permitindo que
o gerente consulte informações do dispositivo gerenciado e execute ações sobre eles
mediante seus agentes, como alteração de valores.
Figura 3: Arquitetura genérica de gerência SNMP.
O protocolo SNMP é utilizado para transportar informações da MIB entre gerentes e
agentes, neste contexto são permitidas operações de consulta GET e modificação SET
para valores de objetos da MIB associados a um elemento gerenciado. O SNMP também
é utilizado para permitir que os agentes enviem mensagens (não solicitadas)
caracterizadas como eventos, mensagens estas chamadas de TRAPs. A figura 3 apresenta
a arquitetura genérica da gerência SNMP.
3.3 Trabalhos relacionados
Como trabalho relacionado, a proposta definida em [6] utiliza uma rede IP (Internet
Protocol) convencional para transportar os pacotes Interest e Data entre os nós CCN.
Neste cenário o protocolo IPFIX foi estendido para criar um agente IPFIX que captura
87
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
os pacotes na rede IP (porta fixa UDP 9695) e converte para um formato XML
(Extensible Markup Language) com os atributos relacionados ao CCN. Para os pacotes
Interest são considerados como atributos; message type, content name, chunk number,
timestamp e address. De forma similar para os pacotes Data são considerados como
atributos; content name e informações de performance como; bytes, packets ou data
rate. Com essas informações, o agente IPFIX cria um novo fluxo de dados que é
encaminhado para um servidor central denominado CCN Collector/Visualizer, esse
servidor tem o papel de analisar as estatísticas do tráfego.
Cada nó CCN também possui um agente SNMP que coleta diversas informações a
respeito das características físicas do nó como; CPU, memória, HDD, interfaces de rede
e também informações a respeito das tabelas; CS, PIT e FIB. O agente SNMP utiliza
uma MIB CCN definida para coletar ou alterar dados dos objetos, assim como para o
envio de mensagens de notificação ao Servidor SNMP.
As informações coletadas dos nós CCN pelos agentes IPFIX (tabelas de fluxos) e SNMP
(tabelas de objetos monitorados) são exibidas em uma interface Web para o usuário.
4. NONM: Projeto e arquitetura para gerência de redes orientadas a
conteúdo
Nesta seção apresentamos a proposta de arquitetura NONM (Named-Oriented Network
Management) a partir da utilização do SNMP como protocolo inicial a ser utilizado na
arquitetura.
4.1 Protocolo SNMP como primeira proposta NONM
A modelagem de uma ferramenta SNMP Proxy CCN é o primeiro passo em direção à
adoção de mecanismos para gerência de redes CCN, sejam nativas ou overlay, outro
protocolo convencional (mais antigo ou mais moderno) também poderia ser traduzido
para gerenciar elementos nativos das redes orientadas a conteúdo, optamos pelo SNMP
apenas por se tratar de um protocolo largamente conhecido como primeira aproximação
para suprir a necessidade. Um modelo de mapeamento das funcionalidades mínimas de
arquiteturas de gerência tradicionais para uso em CCN tornará possível a coexistência
de ferramentas gerentes de redes legadas interoperáveis com agentes em redes CCN
nativas.
4.2 MIB CCN
Neste trabalho definimos uma MIB para a rede CCN com o mesmo propósito da MIB
apresentada em [6], que se diferencia nos aspectos relativos à gerência de objetos
refletidos em uma gente CCN nativo ao contrário de um agente SNMP convencional.
88
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Tabela 1: Características das ferramentas de monitoramento CCN
Trabalho relacionado
SNMP Proxy CCN
Define uma MIB CCN
SIM
SIM
Agente CCN nativo
NÃO
SIM
Gerencia de nós CCN
nativos
NÃO
SIM
Mapeamento das operações
básicas do SNMP para CCN
NÃO
SIM
A MIB CCN tem como objetivo criar novos ramos na árvore com a identificação de
objetos exclusivos (OIDs) para monitoramento de elementos de rede CCN em redes
nativas. A MIB CCN proposta neste trabalho fica no mesmo nível de hierarquia da
MIB2 e está classificada em duas partes, uma parte reflete objetos adotados no padrão
da MIB2 e a outra parte trata objetos específicos para monitoramento de nós CCN.
Objetos relacionados com a MIB padrão. Propomos manter a relação de objetos já
adotados na MIB para manter um padrão de arquitetura uma vez que estes objetos estão
relacionados à gerência do elemento de rede propriamente dito, como exemplo,
“System” para “ccnSystem”, “Interfaces” para “ccnInterfaces” e demais objetos.
Objetos exclusivos para tratar características do nó CCN. O nó CCN possui
características que o torna único em relação à arquitetura de outros elementos das redes
legadas, pois ele possui tabelas de controle diferenciadas para tratamento e roteamento
de pacotes/conteúdo. Pensando nesta tratativa especificamos alguns grupos de objetos
para monitorar estas tabelas, como por exemplo: ccnStatus, ccnFace, ccnCS, ccnPTI e
ccnFIB. A MIB CCN é apresentada na Figura 4.
Figura 4: A MIB CCN e sua sub-árvore.
89
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
4.3 Estratégias para mapeamento das operações básicas do SNMP
Levando em consideração que os elementos da rede CCN não suportam o protocolo
SNMP, é necessário o uso de um mecanismo SNMP Proxy [7] que permite o
mapeamento das operações básicas do protocolo SNMP para monitoramento dos
elementos nativos da rede CNN. Neste contexto um sub-agente (executado no proxy)
deve conhecer os objetos da MIB CCN para estabelecer a interface de comunicação
entre as redes IP e CCN. Com esse propósito, adotamos um mecanismo de mapeamento
denominado SCNAT (SNMP Content Network Address Translation) que faz o papel de
“tradutor” da arquitetura utilizada na ferramenta SNMP Proxy CCN, apresentada na
figura 5.
Figura 5: Arquitetura do SNMP Proxy CCN.
A arquitetura utilizará dois tipos de agentes, um sub-agente e um agente ccn nativo,
como descritos abaixo:
Sub-agente: Responsável por mapear as consultas SNMP feitas aos objetos (OIDs) da
MIB CCN para pacotes Interest que serão encaminhados para a rede CCN.
Agente CCN: Responsável por gerar os conteúdos mapeados de acordo com a MIB
CCN, que serão encaminhados para o SNMP Proxy CCN no formato de pacotes Data
(nativo CCN) como resposta às solicitações dos pacotes Interest.
5. Mapeamento das operações básicas do SNMP através do SCNAT
5.1 Nomeação e descoberta dos nós
Antes do processo de mapeamento das operações básicas do SNMP para CCN, é
necessário conhecer os elementos existentes na rede CCN. A descoberta dos nomes ou
labels destes elementos pode ser feita de forma hierárquica durante o processo de troca
de mensagens de controle do protocolo de roteamento adotado, desta forma o nome ou
label se torna um identificador exclusivo de cada elemento na rede CCN, por exemplo;
/<network>/site/<ne>/ [8].
Descoberta de nomes. Do lado da interface com a rede CCN, o SNMP Proxy CCN
manterá uma tabela dinâmica com os nomes dos nós conhecidos na rede.
90
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
5.2 Mecanismo de tradução SCNAT
O Proxy SNMP CCN deve ter um sub agente implementado com uma imagem da MIB
CCN de modo que ele possa acessar os objetos definidos para gerenciamento dos nós
CCN, e utilizará o campo “Community” (string formada em texto plano) da PDU do
SNMPv1 e SNMPv2 como parâmetro para informar com qual Label/NE deseja se
comunicar. O campo “ContextName” terá a função do “Community” para o protocolo
SNMPv3.
Consulta: Do lado da interface com a rede IP, o SNMP Proxy CCN mantém uma
tabela correspondente ao OID e o campo “Community” da mensagem que será usado
para identificar o nome ou label do nó de destino. A tabela é formada pelos campos; IP
de origem, Porta de origem, IP de destino, Porta de destino, RequestID e OID (MIB
CCN) de acordo com a consulta feita pelo Gerente (NMS).
Neste caso, a ferramenta Proxy saberá que a mensagem recebida trata-se de uma
mensagem que deve ser mapeada para o mundo CCN com a definição de valor de porta
diferente da porta 161 (ex.: uma porta alta qualquer), que servirá como um indicador na
mensagem GET do SNMP informando que se trata de uma mensagem para ser mapeada
para CCN e não de uma mensagem para um agente SNMP no próprio Proxy, sendo
assim uma porta específica do SNMP, de modo que o Proxy saiba que aquela mensagem
é para ser convertida e encaminhada a um nó CCN.
O campo RequestID do protocolo SNMP é utilizado para identificar as mensagens de
requisição geradas pelo processo gerente, uma vez que um gerente pode fazer múltiplas
requisições SNMP para o mesmo agente.
O campo OID será mapeado para o campo “Conteúdo” que juntamente com a
informação do campo “Community” formará o pacote de interesse contido no campo
“Pacote de interesse” que finalmente será encaminhado para a rede CCN.
Tabela 2: A string do campo “Community” será utilizada para identificar o NE
que deseja se comunicar.
IP origem
(NMS)
Porta
Origem
IP destino
(Proxy)
(NMS)
Porta
Destino
Community
ResquestID
OID
(Proxy)
(NMS)
(MIB CNN)
(Proxy)
10.0.0.100/24
20000
10.0.0.1/24
64000
Label-NE1
0
1.3.6.1.2.x.1.1
10.0.0.100/24
20000
10.0.0.1/24
64000
Label-NE2
1
1.3.6.1.2.x.1.2
10.0.0.200/24
30000
10.0.0.1/24
64000
Label-NE2
0
1.3.6.1.2.x.1.3
91
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Tabela 3: Formação do pacote de interesse de acordo com o conteúdo das
colunas “Community” e “Conteúdo”
Community
OID
Conteúdo
Pacote de Interesse
(Proxy)
(MIB CNN)
Label-NE1
1.3.6.1.2.x.1.1
ccnSystem/sysDesc
/Label-NE1/ccnSystem/sysDesc
Label-NE2
1.3.6.1.2.x.1.2
ccnSystem/sysObjectID
/Label-NE2/ccnSystem/sysObjectID
Label-NE2
1.3.6.1.2.x.1.3
ccnSystem/sysUpTime
/Label-NE3/ccnSystem/sysUpTime
Resposta: Após a entrega do pacote Interest do SNMP Proxy CCN para a rede CCN
nativa formado pelo mapeamento descrito anteriormente, a rede deve retornar como
resposta um pacote Data levando em consideração a arquitetura do modelo CCN.
Quando o SNMP Proxy CCN receber o pacote Data de volta como resposta, a
mensagem PDU Response será formada de acordo com o conteúdo da tabela que
mantém o mapeamento do campo IP origem e Porta de origem, na volta os valores
serão utilizados agora como destino, para identificação do Gerente (NMS) que fez a
solicitação no início.
Tabela 4: Formação da “PDU Request”, para entrega do conteúdo solicitado de
volta ao Servidor Gerente (NMS).
IP destino
(NMS)
Porta
destino
ResquestID
(NMS)
IP origem
Conteúdo
(Proxy)
(NMS)
10.0.0.100/24
20000
0
10.0.0.1/24
ccnSystem/sysDesc
10.0.0.100/24
20000
1
10.0.0.1/24
ccnSystem/sysObjectID
10.0.0.200/24
30000
0
10.0.0.1/24
ccnSystem/sysUpTime
6. Mapeamento das operações básicas do SNMP para CCN
6.1 Operação GET
Com uso da arquitetura SCNAT será possível iniciar uma consulta ao nó CCN nativo
através da operação GET do SNMP. Como exemplo, podemos usar uma consulta feita
para o objeto “sysUptime” (sob o objeto ccnSystem) do elemento “NE1”. O servidor de
gerência “Host Gerente” inicia uma consulta SNMP “GET Request” para o OID
“1.3.6.1.2.x.1.3”, que reflete o objeto “ccnSystem/sysUpTime” (1), o campo
“Community” deve ser preenchido com o “label/nome” do nó que deseja consultar,
como exemplo, “label_NE1”. O SNMP Proxy CCN converte a mensagem para um
pacote de interesse mapeado como “Interest /NE1/ccnSystem/sysUpTime” e envia o
pacote para a rede de elementos CCN (2). Se o elemento “NE1” tem o conteúdo
“/NE1/ccnSystem/sysUpTime” (como objeto do nó label_NE1 mapeado da MIB CCN),
92
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
ele responde a requisição imediatamente com a mensagem de dados, exemplo “Data
/NE1/ccnSystem/sysUpTime”. O SNMP Proxy CCN converte a mensagem de dados
“/NE1/System/sysUpTime” para uma mensagem padrão SNMP “GET Response”. Se a
consulta fosse feita para outro elemento da rede mais distante, “NE2” por exemplo, o
“NE1” armazena o interesse em sua tabela “PIT” e encaminha a mensagem para os
próximos nós na rede até que o conteúdo seja localizado (3). Por fim, o conteúdo
localizado é armazenado no “cache” de cada NE para satisfação das pendências do
pacote de interesse (4). Como grande parte dos objetos gerenciáveis na MIB CCN são
objetos dinâmicos (ex.: informação sobre o número de pacotes de interesse), é
recomendado que apenas alguns valores de objetos sejam armazenados no cache dos
nós intermediário na rede CCN (ex.: número de interface de rede físicas de um
elemento). Após a entrega do conteúdo finalmente para o SNMP Proxy CCN (5), o
mesmo é encaminhado para o Host Gerente que a solicitou no início da consulta (6). Os
passos descritos acima são apresentados na figura 6.
As demais operações básicas do SNMP tais como: “GET-NEXT”, “GET-BULK” e
“SET” embora mais complexas, podem ser mapeadas seguindo o mesmo princípio, com
a diferença que a operação “GET-NEXT” consulta o próximo OID na hierarquia e o
“GET-BULK” consulta um número maior de OIDs, de acordo com o valor do parâmetro
max-repetitions. A operação “SET” tem como objetivo alterar o valor de um objeto.
Figura 6: Passos para mapeamento da consulta da operação “GET”.
6.2 Uso do Publishe/Subscribe para mapeamento da TRAP
Com base no modelo de comunicação Publishe/Subscribe [14, 15, 16], temos como
proposta inicial o uso do mecanismo “Publishe/Subscribe Event Notification” para tratar
a notificação de eventos na plataforma SNMP Proxy CCN. A ferramenta SNMP Proxy
CCN deve implementar o processo “Forwarding Tables/Notification Service” que fará o
gerenciamento das mensagens de publicação e assinaturas de eventos, também deverá
implementar o processo “Sub-agente Consumer” que deve agir como
Consumer/Subscriber do sistema. O Agente CCN deve implementar o processo
“Producer/Publisher” que fornecerá a publicação dos eventos relacionados aos objetos
gerenciados que podem mudar o seu estado (ex.: linkDown, linkUP).
93
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Os processos no SNMP Proxy CCN e nó CCN estão classificados abaixo:
SNMP Proxy CCN


Forwarding tables/Notification Service
Consumer/Subscriber
Nó CCN
 Producer/Publisher
6.3 Mapeamento da operação "TRAP" do SNMP para CCN
O sub-agente da ferramenta Proxy deve cadastrar os servidores gerentes que receberão
as TRAPs, como é feito no modo convencional (1). A ferramenta SNMP Proxy CCN
deve implementar os processos “Consumer” e “Notification Service”, o processo
Consumer expressará ao processo Notification Service o interesse em eventos
específicos
que
deseja
monitorar,
como
por
exemplo;
“Interest/label_NE/ccnSystem/linkDown” e “Interest /label_NE/ccnSystem/linkUP” (2).
O processo “Producer” implementado no elemento CCN deve informar ao Proxy a
publicação dos conteúdos “/NE1/ccnSystem/linkDown” e “NE1/ccnSystem/linkUP” (3).
Se o conteúdo/estado do “Interest /label_NE/ccnSystem/linkUP” é alterado para
“Interest /label_NE/ccnSystem/linkDown”, o mesmo é encaminhado para o Proxy (4).
Em seguida o pacote é convertido para o formato de uma TRAP SNMP e encaminhado
para os servidores gerentes cadastrados para receber as TRAPs (5).
Figura 7: Arquitetura “Publishe/Subcribe Event Notification” para o SNMP
Proxy CCN.
94
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
7. Conclusão e Trabalhos Futuros
Uma solução eficiente para gerencia de elementos CCN nativos com uso de gerentes
SNMP em redes IP, abre espaço para novas discussões sobre a interoperabilidade entre
redes legadas e redes orientadas a conteúdo.
Entre as vantagens da arquitetura proposta, é apresentada a possibilidade de tornar os
sistemas convencionais (SNMP, NETCONF ou outros) compatíveis com novos sistemas
e paradigmas (ex.: CCN), uma vez que a migração destas arquiteturas pode ser feita de
forma gradual sem a necessidade de grandes alterações na infraestrutura já existente.
Desta forma podemos afirmar que a ferramenta SNMP Proxy CCN serve como um
facilitador no processo de migração das plataformas legadas.
Outro ponto a se observar é a possível diminuição de custos de operação das redes de
telecomunicações, uma vez que o elemento gerenciado passa a ser localizado através do
seu “label/nome” que se mostra totalmente desacoplado do endereçamento IP
convencional, no que se refere ao controle destes endereços em grandes redes (centenas
e milhares de elementos) devido a sua arquitetura mais complexa de planejamento.
Como trabalhos futuros inclui-se o desenvolvimento de uma prova de conceito da
arquitetura para avaliação experimental no Mini-CCNx [17] e a inclusão dos resultados
como contribuição para futuras discussões. Existe também a possibilidade de novas
pesquisas para a criação de um gerente CCN nativo além do agente CCN já proposto
neste trabalho.
Referências
[1]
de Brito, G. M., Velloso, P. B., and Moraes, I. M. (2012). “Redes Orientadas a
Conteúdo: Um Novo Paradigma para a Internet”, In Minicursos SBRC 2012.
[2]
Jacobson, V., Smatters, D. K., Thornton, J, D., Plass, M, F., N, H., Briggs, R, L.,
Braynard, “Networking Named Content”. Palo Alto Research Center. Palo Alto,
CA, USA. 2009.
[3]
T. Koponen, M. Chawla, B.-G. Chun, A. Ermolinskiy, K. H. Kim, S. Shenker,
and I. Stoica: “A Data-Oriented (and Beyond) Network Architecture”, In ACM
SIGCOMM 2007.
[4]
Jokela, P., Zahemszky, A., Rothenberg, C., Arianfar, S., Nikander, P.: “LIPSIN:
Line Speed Publishe/Subscribe Inter-Networking”, In ACM SIGCOMM 2009.
[5]
Xylomenos, G. and et al..: ”A Survey of Information-Centric Networking
Research”, Communications Surveys & Tutorials, IEEE, 2013
[6]
Kang, W., Sim B., Kim, J., Paik, E., Lee, E.: “A Network Monitoring Tool for
CCN”, Daejeon, Seoul, Korea 2012
95
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
[7]
Chavan, S. S. and et al..: ” Generic SNMP Proxy Agent Framework
Management of Heterogeneous Network Elements”, Communication Systems
and Networks and Workshops, IEEE, 2009
[8]
A, K, M, Mahmudul Hoque, Syed Obaid Amin, Adam Alyyan, Beichuan Zhang,
Lixia Zhang, Lan Wang, “NLSR: Named-data Link State Routing Protocol”, In
ACM SIGCOMM Workshop on ICN, Aug. 2013.
[9]
Webnms (2014) – Introdução ao protocolo TL1. Disponível online:
http://www.webnms.com/webnms/help/developer_guide/management_protservic
es/mgmnt_protocols/tl1/proto_tl1_intro.html
[10]
Nunes, S., David, G.: “Uma Arquitectura Web para Serviços Web”, in XATA
2005.
[11]
Netconf Central (2014) – Acesso: Marc/2014, Disponível online:
http://www.netconfcentral.org/netconf_docs
[12]
Kurose, J. F, Ross, K. W: “Redes de Computadores e a Internet – Uma
abordagem top-down”, 3 Edição, 2005
[13]
Mauro, R. D, Schmidt, K. J: “Essential SNMP, Second Edition”, 2005
[14]
Virgillito, A., “Publishe/Subscribe Communication Systems: from Models to
Applications”, Phd Thesis, Universita “La Sapienza”, Aug. 2003
[15]
Eugster, P., Felber P. A., Guerraoui, R., Kermarrec, A., “The Many Faces of
Publishe/Subscribe”, ACM Comput. Surv. 35, 2 (June 2003) Jun. 2003
[16]
Carzaniga, A., Palpaline, M., Wolf, L. A., “Content-Based Publishe/Subscribe
Networking and Information-Centric Networking”, ACM SIGCOMM
Workshop on ICN, Aug. 2011
[17]
Cabral, C., Rothenberg, C., Magalhães, M.: “Mini-CCNx: prototipagem rápida
para Redes Orientadas a Conteúdo baseadas em CCN”, In Salão de Ferramentas
do SBRC 2013.
96
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Cloud Disk Drive:
Uma Abordagem para a Criação de Discos Virtuais de Baixo
Custo Utilizando Redes p2p
Anderson Fonseca e Silva1 , Vinicius Cardoso Garcia1 ,
Rodrigo Elia Assad2 , Frederico Durão3
1
2
Universidade Federal de Pernambuco - Centro de Informática (UFPE)
Recife – PE – Brasil
Universidade Federal Rural de Pernambuco - Departamento de Informática (UFRPE)
Recife – PE – Brasil
3
Universidade Federal da Bahia
Instituto de Matemática, Departamento de Ciências da Computação
Salvador, BA – Brazil
{afs8,vcg}@cin.ufpe.br, [email protected], [email protected]
Resumo. Este trabalho apresenta uma proposta para a disponibilização de
unidades virtuais para o armazenamento de dados em nuvem, através da
associação de tecnologias e conceitos, tais como: iSCSI e redes p2p. Desta
forma, os arquivos podem ser distribuı́dos em nós conectados à rede, permitindo
a oferta de armazenamento em disco de maneira compartilhada e a redução de
custos pelo ofertante do serviço.
1. Introdução
Devido à necessidade das empresas em expandir sua capacidade de armazenamento em
rede, motivado pelo alto volume no tráfego de e-mails com anexos, ambientes colaborativos de trabalho, banco de dados e dados multimı́dia, ou por pressões de negócios em
âmbito global, que devem estar alinhado com diferentes modelos regulatórios em vários
paı́ses, torna-se importante o uso de arquitetura de armazenamento, dos quais se destacam: Direct-attached storage (DAS), Network-attached storage (NAS) e Storage-area
networks (SANs). Segundo a Intel1 , a SAN é a arquitetura mais escalável se comparada
com as duas anteriores, porém, requer o uso de software e hardware especializado, tornando alto o custo inicial para a aquisição de equipamentos. Como solução, a empresa
propôs a utilização da arquitetura SAN associada ao advento do iSCSI [Meth et al. 2004]
surgido em 2003.
Com o advento da computação em nuvem, surgiram modelos de serviços com
foco no armazenamento de dados, tais como: Storage as a Service (STas) e Data as a Service (DaaS). O primeiro permite que as aplicações em nuvem escalem além da limitação
de onde estão hospedados, permitindo que usuários armazenem seus dados em discos
remotos, acessando-os em qualquer lugar e a qualquer momento [Jiyi et al. 2010], e o
segundo, além de fornecer as mesmas funcionalidades do primeiro, permite informações
1
http://www.broadberry.co.uk/pdf/intel10gbe/ISCSISANNetworks.pdf
97
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
sobre análise de crédito e contabilidade de empresas para clientes. O modelo DaaS oferece funcionalidades que permitem seus clientes adquirirem ou fornecerem dados sob um
modelo de serviços, desconsiderando se a informação ofertada é gratuita ou comercial
[Truong and Dustdar 2009].
Neste contexto, este trabalho apresenta uma proposta para a oferta de espaço
para armazenamento de dados de forma compartilhada, provendo uma cota pré-definida
para cada usuário, porém, alocada de forma virtual, proporcionando uma economia na
disponibilização de recursos pelo ofertante. Além disso, a proposta dispensa o uso
de instaladores ou graphical user interface (GUI) proprietárias, facilitando assim a
administração na implantação da solução.
No restante deste artigo, as seções estão estruturadas da seguinte forma: Seção 2,
tecnologias relacionadas; Seção 3, a solução proposta, arquitetura e projeto, bem como,
sua validação; e Seção 4, considerações finais e trabalhos futuros.
2. Tecnologias relacionadas
O propósito desta seção é apresentar as tecnologias e conceitos que embasam a construção
desta proposta. As seguintes subseções discorrem sobre o iSCSI, importante para a
comunicação entre os clientes e servidores; o JXTA [Gong 2001], selecionado como
tecnologia para a implementação da solução, utilizando tecnologias p2p; e por fim, o
USTO.RE uma solução de armazenamento em nuvem privada, utilizada na validação da
proposta.
2.1. iSCSI
Segundo a SearchStorage2 , o iSCSI resulta da junção do SCSI (Small Computer System
Interface) e, o IP Internet Protocol desenvolvido pela IETF. Trafegando comandos SCSI
sobre redes IP, o iSCSI facilita a transferência de dados sobre intranets, facilitando o
gerenciamento no armazenamento em longas distâncias. Deste modo, este modelo de conectividade tem se tornado uma das tecnologias-chave para a a implantação e transmissão
de dados no mercado de SAN (Storage Area Network), aumentando sua capacidade e performance. Devido a ubiquidade das redes IP, o iSCSI pode ser utilizado para transmitir
dados em LAN (Local Area Networks), ou Internet permitindo um modelo de armazenamento de dados independente de localização.
2.2. JXTA (Juxtapose)
No contexto de tecnologias para a construção de redes p2p, o JXTA se apresenta como
uma alternativa para a implementação utilizando a plataforma Java. As vantagens relativas
à utilização de redes p2p comparadas com o modelo cliente/servidor tradicional estão na
escalabilidade e tolerância a falhas [Das et al. 2010]. O JXTA é uma especificação para
a plataforma p2p desenvolvida pela Sun Microsystems sob a direção de Bill Joy e Mark
Clary.
Uma das principais funcionalidades da plataforma é fornecer um padrão, permitindo que desenvolvedores comerciais e de código-aberto criem serviços interoperáveis e
aplicações. O JXTA foi modelado utilizando um pequeno número de protocolos para o
2
http://searchstorage.techtarget.com/definition/iSCSI
98
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
tratamento de serviços. Estes protocolos podem ser implementados utilizando qualquer
linguagem, permitindo dispositivos heterogêneos se comunicarem um com o outro em
uma rede p2p.
2.3. USTO.RE
O projeto USTO.RE [Durao et al. 2013] consiste em uma solução de baixo custo para o
armazenamento de arquivos de forma distribuı́da utilizando redes p2p. Nesta solução, os
arquivos são separados em chunks (pedaços com tamanho pré-definido) e gravados em
outros nós conectados à rede, de acordo com o algoritmo de replicação em execução.
3. Cloud Disk Drive
Nesta seção serão apresentadas as definições relativas a proposta, bem como sua análise,
projeto e implementação utilizando como infra-estrutura a associação entre o iSCSI e a
solução USTO.RE.
Figura 1. Visão geral.
Na Figura 1.A é possı́vel verificar a solução tradicional para armazenamento de
dados utilizando iSCSI, onde os equipamentos acessam o iSCSI-Target através do iSCSIInitiator, que se encontra disponı́vel na maioria dos sistemas operacionais. Neste modelo,
quando o usuário ou aplicação solicita alguma operação, um pacote com um cabeçalho
é adicionado antes dos pacotes IP serem enviados (1), e, quando da chegada dos pacotes
na outra ponta, estes são separados entre comandos iSCSI e o conteúdo da requisição (2),
por fim, os comandos são enviados para o controlador iSCSI, e em seguida, repassados
para o dispositivo de armazenamento. As vantagens dessa abordagem estão na facilidade
de execução sobre redes Ethernet.
Ainda na Figura 1.B, o modelo proposto segue os mesmos moldes de comunicação
da proposta da Figura 1.A, porém, o diferencial está no armazenamento dos dados enviados pelos usuários. Neste, o ofertante do iSCSI-Target não necessita de unidade de
armazenamento, a proposta se volta para a utilização dos nós conectados à rede p2p, disponibilizando uma cota de espaço em seus discos rı́gidos, o que torna possı́vel um melhor
aproveitamento dos recursos já adquridos pela empresa.
99
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
3.1. Design da solução
Para a implementação deste trabalho foi tomado como requisito principal, prover ao
usuário por meio de uma comunicação iSCSI, uma unidade de disco pré-formatada, utilizando um sistema de arquivos, com um tamanho de armazenamento pré-definido, podendo variar entre 500GB ou 1TB. Contudo, a forma de alocação da área de dados da
partição escolhida, no lado do servidor, não deveria acontecer, simulando deste modo,
uma quantidade virtualmente disponı́vel de armazenamento.
Figura 2. Layout do sistema de arquivos FAT32.
Na implementação inicial foi selecionado o sistema de arquivos FAT32
[Corporation 2004], devido à sua disponibilidade de documentação, sobre como obter
o retorno dos arquivos e metadados. Conforme a Figura 2 o modelo FAT32 é simples,
onde o primeiro setor é sempre o Volume ID, seguido por espaços não utilizados (Reserved Sector), consequentemente, seguem duas cópias do sistema de alocação de arquivos
(FAT). O restante do sistema de arquivos é organizando em clusters, sendo esta, a área que
consiste na maior parte do tamanho do disco, utilizado para armazenar todos os arquivos
e diretórios.
Sendo assim, esta trabalho propôs a separação dos setores iniciais do disco (Volume ID, Reserved Sector, FAT1 e FAT2), da área de clusters. Deste modo, como as
informações necessárias para inicialização da partição já estão contidas nas primeiras
seções do disco, é possı́vel oferecer um disco com capacidade de 1 TB, alocando tão somente 1 GB de dados, o que representa uma economia inicial de 99 por cento na alocação
de espaço.
3.2. Implementação e Funcionamento
Para a implementação da proposta foi utilizada a tecnologia Java e um conjunto de ferramentas, tais como: jSCSI3 para a adaptação do iSCSI-Target; FAT32 Format, para permitir a formatação de volumes maiores que o permitido pelo Windows, neste caso, 500GB
ou 1TB, e por fim, o SGBD MySQL 4 , para armazenar os endereços dos clusters.
Na Figura 3 é apresentada a visão de implementação, onde o usuário solicita a
inicialização da partição através de um aplicativo web (1) e, em seguida, inicia a conexão
com o iSCSI-Target através de um endereço pré-definido (2). A partir deste momento, o
Target recupera o arquivo contendo as informações da partição (particao.dat), onde estão
3
4
http://jscsi.org/
http://mysql.org/
100
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Figura 3. Visão de implementação.
contidas as informações de inicialização. Por fim, a unidade é exibida no gerenciador de
arquivos do usuário.
Neste contexto, no momento em que os usuários enviam arquivos ou criam pastas,
as informações são enviadas em segmentos para o Target e gravados inicialmente no arquivo de partição. A justificativa para esta abordagem é permitir uma redução da latência
no envio dos dados. Em outro momento, havia sido cogitado a gravação dos segmentos
em uma estrutura fora da partição, o que gerou uma alta taxa de I/O, degradando a performance da aplicação. Dentro deste processo, o segmentos recebidos são registrados em
um banco de dados, bem como, o identificador de sua partição.
Para o envio dos dados para a solução de armazenamento em nuvem, foi criada uma abordagem utilizando uma execução em Batch. Porém, para a leitura das
informações na partição, foi criado um extrator que entende como são gravados os dados na FAT32, recompondo-os em forma de arquivos, ao invés de segmentos, para que
o Batch, consiga transferir para a solução em nuvem desejada, neste caso, o USTO.RE.
Além disso, o Batch tem a responsabilidade de controlar os arquivos extraı́dos e já enviados, evitando o reenvio ou a recuperação e escrita desnecessária.
3.3. Validação inicial
Neste primeiro momento a validação se deu, com o objetivo de verificar a viabilidade da
proposta. O ambiente de execução foi montado utilizando uma rede de 100Mbps, para
o iSCSI Initiator, um notebook com CPU core i5, 4GB RAM e 500GB de disco rı́gido.
O iSCSI-Target foi montado em um equipamento com um processador core i-5, 4GB de
RAM, sistema operacional Windows 7-64 Bits e 2TB de disco rı́gido.
Neste contexto, foi simulado um disco de 1TB, neste os arquivos de inicialização
da FAT ocuparam 1GB de espaço do arquivo. A vazão média aferida para o envio de
1000 arquivos foi de 10.11 segundos, e, 9.96 para 10.000 arquivos. Considerando o envio
para o iSCSI, desprezando a execução do batch para o envio dos dados para o USTO.RE
inicialmente.
101
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
4. Considerações finais
Esta proposta forneceu as ideias iniciais para a elaboração de um sistema de armazenamento colaborativo de baixo custo, emulando um disco virtual com capacidade superior
ao que é possı́vel ofertar de forma fı́sica, através do envio dos dados para uma solução
em nuvem. Neste, é possı́vel reduzir a curva no aprendizado na utilização da solução,
através do uso dos aplicativos de gerenciamento de arquivos já fornecidos pelos sistemas
operacionais, possı́vel através do uso do iSCSI.
Este trabalho se encontra em andamento, e questões como performance,
bufferização, latência na recuperação dos arquivos e outras issues, serão consideradas
à medida em que o trabalho evolui.
5. Agradecimentos
Este trabalho foi apoiado parcialmente pelo Instituto Nacional de Ciência e Tecnologia para Engenharia de Software (INES)5 , financiado pelo CNPq e FACEPE, processos
573964/2008-4 e APQ-1037-1.03/08.
Referências
Corporation, M. (2004). Microsoft fat specification. pages 1–37.
Das, S., Agrawal, D., and Abbadi, A. E. (2010). Elastras: An elastic transactional data
store in the cloud. CoRR, abs/1008.3751.
Durao, F. A., Assad, R. E., Fonseca, A., Carvalho, J. F. S., Garcia, V. C., and Trinta, F.
(2013). Usto.re: A private cloud storage software system. In Daniel, F., Dolog, P.,
and Li, Q., editors, ICWE, volume 7977 of Lecture Notes in Computer Science, pages
452–466. Springer.
Gong, L. (2001). JXTA: A Network Programming Environment. IEEE Internet Computing, 5(3):88–95.
Jiyi, W. J. W., Ping, L. P. L., Ge, X. G. X., Wang, Y. W. Y., and Fu., J. F. J. (2010). Cloud
storage as the infrastructure of cloud computing.
Meth, S. J. K., Sapuntzakis, C., Chadalapaka, M., and Zeidner, E. (2004). Internet small
computer systems interface (iscsi). In IETF, editor, Internet Small Computer Systems
Interface (iSCSI). IETF-RFC-3720.
Truong, H.-L. T. H.-L. and Dustdar, S. (2009). On analyzing and specifying concerns for
data as a service. In IEEE, editor, IEEE Asia-Pacific Services Computing Conference
(APSCC), pages 555–566. IEEE.
5
http://www.ines.org.br/
102
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
HyperDHT - DHT de Um Salto Baseada em Hipercubo
Virtual Distribuído
Jefferson Paulo Koppe, Luis Carlos E. de Bona, Elias P. Duarte Jr.
Departamento de Informática - Universidade Federal do Paraná (UFPR)
Caixa Postal 19081 - 81531-990 - Curitiba - PR - Brazil
{jpkoppe,elias,bona}@inf.ufpr.br
Abstract. A Distributed Hash Table (DHT) is a P2P network that provides an
efficient and scalable solution for searching distributed information. This work
proposes a new DHT, called HyperDHT which is based on a distributed virtual
hypercube, consisting of nodes spread across the Internet connected by virtual
links. HyperDHT uses the overlay network constructed by the Distributed Virtual Hypercube Algorithm (DiVHA), which is a hierarchical distributed diagnosis algorithm with well-known maximum limits for the number of tests required
as well as the diagnosis latency. HyperDHT is different from most other strategies in that the position of new participants is deterministic, a new participant
is located where it is most needed. The overlay network allows the hash keys
to be partitioned, balanced and consistently mapped to the working nodes. HyperDHT was implemented in a simulation environment and results are presented
for the latency of event dissemination, the overhead in terms of network resources consumed, and the search success rate in the presence of churn.
Resumo. As DHTs (Distributed Hash Table) são redes P2P que oferecem uma
solução eficiente e escalável para localização de informações distribuídas. Este
trabalho propõe uma nova DHT, chamada de HyperDHT. O HyperDHT é baseado em um hipercubo virtual distribuído, formado por nodos espalhados pela
Internet e interligados por enlaces virtuais. O HyperDHT utiliza a rede de sobreposição construída pelo algoritmo DiVHA (Distributed Virtual Hypercube
Algorithm), que é um algoritmo de diagnóstico distribuído hierárquico com os
limites máximos conhecidos e definidos para o número de testes executados e
para a latência. Diferentemente do que é usualmente empregado nos sistemas
DHTs, o posicionamento de um novo participante no HyperDHT é realizado de
forma determinística, a fim de posicioná-lo no local da rede onde é mais necessário. A rede sobreposta forma a base na qual é realizado o particionamento,
o balanceamento e o mapeamento consistente das chaves hash. O HyperDHT
foi implementado em um ambiente de simulação e os resultados obtidos são
apresentados em função da latência de disseminação de eventos, da sobrecarga
em relação aos recursos de rede e do impacto do churn na taxa de sucesso das
consultas.
1. Introdução
As DHTs (Distributed Hash Table) disponibilizam uma função de consulta similar à encontrada em tabelas hash tradicionais, sendo que as chaves são distribuídas pelos diversos
103
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
nodos do sistema [Androutsellis-Theotokis and Spinellis 2004, E. K. Lua and Lim 2005].
Para encaminhar uma consulta a partir do nodo requerente até aquele responsável pela
chave procurada, as DHTs fazem uso de tabelas de roteamento. Cada vez que uma consulta é encaminhada para um novo nodo é dito que houve um salto. De maneira geral,
quanto maior a quantidade de saltos necessários para resolver uma consulta, maior será a
latência, ou seja, maior será o intervalo de tempo para que o nodo que originou a consulta
obtenha a sua resposta.
O uso de grandes tabelas de roteamento permite que as consultas sejam resolvidas
em um número menor de saltos, mas se deve considerar que quanto maior a quantidade
de informação de roteamento armazenada em cada nodo, maior será a demanda de comunicação para sua manutenção [J. Risson and Moors 2006]. Deste modo, as DHTs devem
balancear a latência das consultas com a demanda de comunicação para manutenção das
tabelas de roteamento.
As primeiras DHTs, a exemplo do Pastry [Rowstron and Druschel 2001], Tapestry [B. Y. Zhao and Joseph 2001], Chord [I. Stoica and Balakrishnan 2001] e CAN
[S. Ratnasamy and Shenker 2001], são classificadas como Multi Hop DHT pois fazem
uso de tabelas de roteamento parciais e necessitam que uma consulta seja roteada por
diversos nodos. As DHTs cujas tabelas de roteamento contêm informações sobre todos
os participantes do sistema são conhecidas por Single Hop DHT, e o que as diferencia
das multi-hop é a capacidade de resolver as consultas em um único salto, usando apenas
a tabela de roteamento local. Uma Single Hop DHT requer que os eventos de entrada,
saída ou falha de qualquer nodo do sistema sejam reportados para todos os participantes do sistema [A. Gupta and Rodrigues 2004]. Por este motivo, a preocupação principal passa a ser como realizar a disseminação dos eventos de maneira rápida e eficiente
[J. Risson and Moors 2006].
Este trabalho apresenta uma nova DHT de salto único, chamada de HyperDHT.
A proposta do HyperDHT é prover uma solução onde o procedimento de localização
de uma informação ou um objeto distribuído em uma rede P2P seja realizado de forma
rápida, eficiente e escalável. Sendo o HyperDHT uma DHT de salto único, as questões
relativas à escalabilidade não estão relacionadas com o algoritmo de localização, mas sim
voltadas aos procedimentos realizados para manutenção da tabela de roteamento.
O HyperDHT utiliza a rede de sobreposição construída pelo algoritmo DiVHA
(Distributed Virtual Hypercube Algorithm), que é um algoritmo de diagnóstico distribuído hierárquico com os limites máximos conhecidos e definidos para o número de testes
executados (log2 N ) e para a latência (N × log2 N ) [L. C. E. Bona 2008]. Permitindo ao
HyperDHT adotar estratégias para maximizar a chance das consultas serem respondidas
em um único salto, mesmo nas situações em que o sistema não está estabilizado, com
eventos ainda em fase de disseminação.
O HyperDHT incorpora no protocolo de entrada mecanismos para posicionar deterministicamente um novo participante no local da rede onde ele é mais necessário. Esta
abordagem diferencia o HyperDHT das demais DHTs que, usualmente, deixam o problema do posicionamento de um novo participante por conta da função hash, acreditando
que o efeito avalanche irá fazer uma distribuição razoavelmente homogênea dos participantes na rede de sobreposição. Como resultado, podemos esperar que o balanceamento
104
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
de carga em um sistema HyperDHT seja mais homogêneo, comparado com as DHTs que
utilizam o hash para posicionar os participantes na rede.
O HyperDHT foi implementado em um ambiente de simulação e os resultados
obtidos são apresentados em função da latência de disseminação de eventos, da sobrecarga
em relação aos recursos de rede e do impacto do churn na taxa de sucesso das consultas.
O restante deste artigo está organizando da seguinte maneira. A seção 2 apresenta
trabalhos relacionados. Na seção 3 o HyperDHT é especificado. A análise dos resultados
das simulações são apresentados na seção 4. A seção 5 conclui este trabalho.
2. Trabalhos Relacionados
Devido ao compromisso entre a latência de uma consulta e o consumo de recursos de rede necessários para manter a tabela de roteamento, a maioria das
DHTs propostas optaram por soluções onde as consultas são resolvidas em múltiplos saltos (p.ex., [S. Ratnasamy and Shenker 2001, Fraigniaud and Gauron 2003,
Kaashoek and Karger 2003, D. Malkhi and Ratajczak 2002, B. Y. Zhao and Joseph 2001,
I. Stoica and Balakrishnan 2001, ?]), de maneira a minimizar o tráfego destinado para manutenção do sistema. As DHTs classificadas como de salto único, diferentemente das de
múltiplos-saltos, têm como principal compromisso minimizar ao máximo a latência das
consultas [C. Zhuo and Yi 2012]. Nesta classe o foco principal passa a ser como realizar a
disseminação dos eventos de entrada e saída de participantes de maneira rápida e eficiente
[J. Risson and Moors 2006], visto que a realização de consultas em DHTs de salto único
é trivial pois todos nodos têm conhecimento sobre todos participantes do sistema.
O sistema OneHop [A. Gupta and Rodrigues 2004] foi a primeira DHT proposta
a garantir que a maior parte das consultas sejam resolvidas em um único salto, mesmo
em ambientes dinâmicos. A topologia da rede de sobreposição adotada pelo OneHop é
similar àquela empregada pelo Chord, onde os nodos são distribuídos e ordenados por
seus identificadores em um anel, mas com a diferença que cada nodo, além de conhecer
seu sucessor, também conhece seu antecessor. A hierarquia definida por OneHop facilita
o agrupamento de eventos de maneira a minimizar os custos de manutenção das tabelas de
roteamento, mas tem como efeito colateral um alto nível de desbalanceamento de carga
de manutenção entre os nodos de diferentes níveis da hierarquia, como mostrado nos
resultados publicados em [P. Fonseca and Liskov. 2009]. Além disso, os próprios autores
apontam limitações de escalabilidade nos casos onde nodos não possuem banda de rede
suficiente para exercer suas atribuições no sistema OneHop.
A D1HT [Monnerat and Amorim 2006] propõe resolver grande parte das consultas em apenas um único salto, com baixa demanda de rede e em ambientes dinâmicos
típicos das aplicações P2P. Os participantes e objetos de um sistema D1HT recebem um
identificador/chave e são dispostos ordenadamente em um anel, de forma similar ao que
acontece em um sistema Chord. As chaves, como também ocorre no Chord, são associadas ao nodo sucessor no sentido horário, na topologia formada pelo anel. Os nodos
mantêm uma tabela de roteamento com os endereços IP de todos os participantes do sistema para viabilizar que as consultas sejam resolvidas em apenas um salto. Para manter
a tabela de roteamento atualizada e sincronizada em todos os nodos, a D1HT utiliza um
algoritmo de disseminação de eventos batizado de EDRA (Event Detection and Report Algorithm). Em [Monnerat and Amorim 2006] o autor enfatiza o baixo consumo de recur-
105
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
sos de rede demandados para manutenção das tabelas de roteamento se comparado com
outros sistemas tipo single hop DHT, como por exemplo [A. Gupta and Rodrigues 2004].
O autor descreve, ainda, algumas situações em que uma consulta pode levar mais tempo
do que o esperado em decorrência de um evento ainda não ter sido totalmente propagado
no sistema.
3. HyperDHT: DHT de Um Salto Baseada em Hipercubo Virtual Distribuído
Nesta seção será apresentado e discutido o HyperDHT. As sub-seções estão organizadas
da seguinte maneira. A sub-seção 3.1 apresenta algumas considerações preliminares. A
sub-seção 3.2 define o modelo do sistema. A sub-seção 3.3 descreve a abordagem adotada
para o particionamento do espaço de chaves hash. Finalizando com a sub-seção 3.4 onde
são discutidas as questões relativas às consultas de salto único.
3.1. Considerações Preliminares
A proposta do HyperDHT é fazer uso da infra-estrutura fornecida pelo algoritmo DiVHA
para implementar os serviços necessários de uma DHT de salto único. O DiVHA permite
a cada peer calcular de forma independente seus enlaces virtuais, os quais inter-conectam
os participantes em uma estrutura baseada em um hipercubo, formando a rede de sobreposição. Os enlaces virtuais são utilizados pelo HyperDHT para detecção e disseminação
de eventos, e para troca das informações necessárias para manutenção da tabela de roteamento.
No topo desta infra-estrutura de base, o HyperDHT implementa as seguintes funcionalidades: mecanismos para posicionamento e busca dos objetos na rede P2P; particionamento e mapeamento consistente das chaves da tabela hash entre os peers; protocolos
de entrada de novos participantes na rede; esquema de replicação das informações ou
objetos armazenados na rede; e as funções DHT clássicas lookup, put e get.
O posicionamento e a posterior localização dos objetos distribuídos na rede é baseado em identificadores numéricos (chaves) que são atribuídos aos peers e aos objetos
quando estes entram no sistema HyperDHT. O particionamento da tabela hash entre os
peers é realizado através de técnicas de hash consistente [D. Karger and Lewin 1997].
Com isso, o remapeamento do espaço de chaves e a transferência dos objetos acontecem
de forma localizada, somente entre peers adjacentes ao peer que originou um evento de
entrada, saída ou falha.
Para ingressar em um sistema HyperDHT, um peer pretendente deve seguir o protocolo de entrada. Este procedimento determina, com base na topologia atual da rede, uma
posição adequada para alocar o novo peer. A saída de um participante do sistema pode se
dar de duas maneiras: o peer anuncia sua saída para seus vizinhos e segue o protocolo de
saída para garantir a disponibilidade dos valores em um único salto; ou, ele simplesmente
sai do sistema, ocasionando saltos extras para réplicas nas eventuais consultas em chaves
pertencentes ao peer que saiu.
Os peers da HyperDHT mantêm uma tabela de roteamento completa, com referências para todos os demais participantes da rede. Cada entrada desta tabela associa o
identificador de um determinado peer ao seu endereço de rede. A operação de consulta
lookup(key) faz uso desta tabela para encontrar o peer responsável por uma determinada
chave e viabiliza a implementação das funções put(key, value) e get(key).
106
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
3.2. Modelo do Sistema
Considere um sistema S composto por um conjunto V de vértices, onde vi ∈ V corresponde a um vértice do hipercubo H(S), sendo que i determina o identificador numérico
de vi em H(S). Os vértices deste sistema representam posições na rede de sobreposição
que podem, ou não, ser ocupados por um peer. Se em um dado momento o vértice contém
um peer ele é dito ocupado, caso contrário o vértice é dito vazio.
O sistema é considerado totalmente conectado, ou seja, os peers podem se comunicar diretamente, sem intermediários. Ao ingressar na rede, um peer recebe um identificador i que o relaciona a um dos vértices em H(S). Um peer pi qualquer pode estar em
um de dois estados, disponível ou indisponível. Os peers disponíveis são capazes de realizar testes em outros peers e determinar corretamente o estado do peer testado. Um teste
consiste em um procedimento que permite determinar se o peer está apto para participar
do sistema.
Um evento é definido pela mudança de estado tanto de um vértice (vazio ou ocupado) quanto de um peer (disponível/indisponível). O sistema é considerado dinâmico de
forma que os peers podem entrar e sair da rede aleatoriamente, bem como os vértices e
peers podem apresentar alternância de seus estados frequentemente. Um peer que passa
do estado indisponível para disponível pode manter as informações que ele armazenava
anteriormente, mas deve se atualizar sobre as eventuais mudanças ocorridas na configuração da rede antes de voltar à prover seus serviços.
Os testes são realizados periodicamente, dentro de um intervalo de testes fixo
determinado em função dos requisitos desejados para o sistema. Um teste consiste em
um procedimento executado pelo peer testador sobre o peer testado. A resposta ou a falta
da resposta dentro do intervalo esperado permite ao peer testador classificar o estado do
peer testado entre disponível ou indisponível. Uma rodada de testes é definida como o
período de tempo em que todos os peers no estado disponível executam seus testes. A
latência do sistema é definida como o tempo necessário, em rodadas de testes, para que
todos os peers disponíveis descubram a ocorrência de um novo evento.
O grafo H(S) é usado como base para construção da rede de sobreposição, a qual
é representada pelo grafo T (S). Em essência, T (S) é uma cópia de H(S) no qual, se
necessário, são adicionadas arestas extras para compensar os caminhos interrompidos por
vértices vazios ou peers indisponíveis. Uma aresta direcionada em T (S) do peer i para
o peer j representa o enlace virtual entre estes peers. Através dos enlaces virtuais são
trocadas as mensagens de testes.
O grafo T (S) é gerado de forma independente por cada peer através do algoritmo
DiVHA. A figura 1 ilustra um grafo T (S) para um sistema de 8 vértices ocupados. Os
vértices brancos representam peers disponíveis, enquanto que os vértices em preto representam peers indisponíveis. O DiVHA utiliza H(S) e o conhecimento dos resultados dos
testes compartilhados entre os peers para garantir que o maior caminho entre qualquer par
de vértices em T (S) seja de no máximo log2 N arestas. A construção de T (S) pode ser
dividida em duas fases. Na primeira fase T (S) recebe todas as arestas correspondentes ao
hipercubo dos nodos sem falha, de forma que cada nodo sem falha fica responsável por
testar seus log2 N nodos vizinhos. A ocorrência de nodos falhos pode exigir a inclusão
de arestas de teste adicionais. A inclusão de um teste adicional entre um par de nodo
107
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
qualquer i e j baseia-se na distância no hipercubo entre este par de nodos bem como a
atual distância dos mesmos no grafo de testes T (S). O DiVHA permite que o HyperDHT
determine o estado de todos os nodos do sistema em no máximo log2 N rodadas de testes.
O número máximo de testes por rodada é de N × log2 N . A latência média do algoritmo
DiVHA é, em geral, menor que sua latência máxima de log2 N . Resultados experimentais
indicam que a maior parte dos eventos são diagnosticados em cerca de (log2 N )/2 rodadas
[L. C. E. Bona 2008].
A cada rodada de testes os
peers disponíveis testam os peers
adjacentes a ele em T (S), este
conjunto é denotado por T(i),
sendo i o índice do peer testador.
Para atualizar as informações sobre o estado dos participantes do
sistema, um peer i ao testar um
peer pj ∈ T(i), pi recebe de pj
Figura 1. Grafo T (S) para um sistema de 8
informações sobre todos os peers
vértices ocupados.
k com distância de pj menor ou
igual a log2 N − 1. A distância é definida como sendo o menor caminho em T (S) entre
um par de peers qualquer. Quando um peer pi detecta um novo evento, ele executa o
algoritmo DiVHA para atualizar T(i).
O valor máximo para a latência (log2 N rodadas de testes) e o valor máximo para
a quantidade de testes necessários (N × log2 N por rodada de testes) são garantidos pelo
algoritmo DiVHA e são formalmente provados em [L. C. E. Bona 2008].
3.3. Particionamento do Espaço de Chaves Hash
No HyperDHT as chaves são calculadas através da função criptográfica SHA-1 de
160bits, formando um conjunto de 2160 possíveis chaves. Subconjuntos deste espaço de
chaves são associados aos vértices vi ∈ H(S). Cada vértice do hipercubo H(S) recebe
uma faixa de chaves determinada por [i ∗ 2160−d , ..., (i + 1) ∗ 2160−d ), onde i é o índice
do vértice em H(S), e d é a dimensão do hipercubo que modela o sistema HyperDHT
corrente, que também corresponde à quantidade de níveis de clusters de H(S), conforme
mostra a figura 2.
Figura 2. Particionamento do espaço de chaves em um sistema HyperDHT.
Em um sistema completo, no qual todos os vértices de H(S) estão sendo ocupados
por peers, o mapeamento do espaço de chaves para cada peer pi se dá de forma direta 1 : 1,
pelo índice i do vértice e do peer, ou seja, o peer pi responderia pelo espaço de chaves
associado ao vértice vi . Nas configurações em que há a ocorrência de vértices vazios, o
peer cujo vértice é o mais próximo do vértice vazio em H(S) fica responsável por aquele
subconjunto de chaves. Este procedimento é detalhado a seguir.
108
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Para encontrar o vértice
mais próximo, o HyperDHT
faz uso da seguinte propriedade.
Cada vértice de um hipercubo é
identificado por um número binário de n bits, no qual cada bit
representa uma dimensão e cada
dimensão tem dois valores possíFigura 3. Identificadores binários e cálculo
veis. Dados dois identificadores
da distância entre vértices em um hiperde vértices, o número de bits que
cubo.
os diferem corresponde à menor
distância entre estes vértices, e a posição do bit mais significativo que os difere determina
a menor dimensão na qual estes vértices estão unidos. Para exemplificar, considere os
vértices 2 (010) e 4 (100) da figura 3, eles estão separados por uma distância de dois passos, pois existem 2 bits que os diferem. Ainda neste exemplo, temos que o bit diferente
mais significativo é o terceiro, logo a menor dimensão que contém ambos os vértices é
d = 3.
Os vértices são agrupados em clusters, sendo a quantidade de vértices de um cluster definida por sua dimensão d e determinada por uma potência de 2 (2d ). Um mesmo
vértice pode pertencer à clusters progressivamente maiores. A figura 3 ilustra como esse
agrupamento é realizado para um sistema de 8 vértices. A lista dos vértices de um determinado cluster é calculada pela função C(i, d), onde i é o índice de um dos vértices
contidos no cluster de interesse, e d é a dimensão do cluster. A função C(i, d) pode ser
definida da seguinte forma: Ci,d = i ⊕ z, ∀z ∈ Z≥0 : z ≤ 2d − 1
Neste esquema de particionamento, um peer pi responde pelo subconjunto das
chaves associadas ao seu próprio vértice, somado aos subconjuntos das chaves dos vértices vazios cuja diferença do identificador binário os torna mais próximos de pi do que
de qualquer outro peer, não importando o estado de pi (disponível ou indisponível). Com
isso, o HyperDHT consegue realizar hash consistente, onde os eventuais remapeamentos
de chaves ocorrem somente nos peers adjacentes ao peer que originou um evento e os
demais peers do sistema não são afetados.
O cálculo para determinar o peer
01. find_vertice_owner ( v, S ) {
responsável por um dado subconjunto 02.
z = 0
i = v
de chaves é realizado de forma indepen- 03.
04.
WHILE ( vertice i is VAZIO in S ) {
dente por cada um dos participantes do 05.
z++
i = v XOR z
sistema. Este conhecimento é baseado 06.
07.
}
nas informações do estado dos vértices 08.
RETURN i
do sistema. O algoritmo da figura 4 09. }
descreve como este cálculo é realizado.
Figura 4. Pseudo-código - peer resA função find_vertice_owner reponsável pelas chaves associadas a
um vértice.
cebe como parâmetro de entrada um
identificador v, especificando o vértice para o qual se deseja encontrar o peer responsável, baseado no estado dos vértices que compõem o sistema S. Nas linhas 2 e 3 do
pseudo-código da figura 4 são inicializadas duas variáveis auxiliares, z e i. Na quarta linha, temos um laço que é executado até que seja encontrado um vértice i em S cujo estado
109
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
é ocupado. Na linha 5, z tem seu valor incrementado e este valor representa a distância
entre dois vértices. O próximo vértice a ser testado pela condição do laço é calculado na
linha 6, através da operação ou-exclusivo entre o identificador v e a distância z. O resultado deste algoritmo é consistente entre todos os participantes, mesmo nos momentos em
que um ou mais parâmetros que descrevem o sistema estejam divergentes entre os peers
devido a latência de propagação de eventos.
Para exemplificar, suponha que existe apenas um peer i ocupando a posição 0
no sistema da figura 5 e os demais vértices estão vazios. Nesta condição este peer fica
responsável por todos os subconjuntos de chaves dos vértices deste sistema {0, 1, 2, 3},
pois o resultado da função find_vertice_owner para cada um dos vértices é 0,
conforme exibido na tabela 1.
Considere que um novo
peer pj entre neste sistema e, pelas regras de entrada, pj ocupa a
posição 2. Nesta nova configuração o espaço de chaves é dividido
entre os dois peers, onde pi fica
responsável pelas chaves dos vértices {0, 1}, e pj pelas chaves dos
vértices {2, 3}, conforme mostra
a tabela 2.
Figura 5. Divisão do espaço de chaves na
entrada de um novo peer.
find_vertice_owner(0, S) => 0
find_vertice_owner(1, S) => 0
find_vertice_owner(2, S) => 0
find_vertice_owner(3, S) => 0
find_vertice_owner(0, S) => 0
find_vertice_owner(1, S) => 0
find_vertice_owner(2, S) => 2
find_vertice_owner(3, S) => 2
Tabela 1. Exemplo 1 - Resultados
da função find_vertice_owner.
Tabela 2. Exemplo 2 - Resultados
da função find_vertice_owner.
A figura 6 estende o exemplo de particionamento do espaço de chaves para um
sistema de 4 dimensões e 16 vértices, no qual inicialmente existem 6 peers disponíveis.
Os peers estão ocupando os vértices em branco, enquanto que os vértices em preto estão
vazios.
Observe que neste exemplo de sistema a distribuição das chaves entre os peers
não está balanceada, configurações como esta surgem devido à saída de peer de uma dada
região. Entretanto, no HyperDHT isso é resolvido com a entrada de novos participantes,
pois o protocolo de entrada irá posicionar os eventuais novos peers nas regiões menos
povoadas. A figura também ilustra o particionamento do espaço de chaves, que está
dividido em regiões e cada região contém o índice do peer responsável por aquela faixa
de chaves. Note que, apesar da distribuição irregular dos peers no sistema, a distribuição
do espaço de chaves é, relativamente, mais balanceada.
Para finalizar a explicação, suponha que o peer 8 saiu da rede, neste caso o peer
9 irá passar a responder pelo subconjunto de chaves deixados por p8 . Considere ainda
que, algum tempo depois, p9 e p10 saíram simultaneamente da rede, nesta situação o peer
110
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
15 será responsável por todas as chaves do cluster Ckd (15, 3), o qual contém os vértices
[v8 , v9 , v10 , v11 , v12 , v13 , v14 , v15 ].
3.4. Consultas em um Único Salto
O HyperDHT, a fim de viabilizar que cada consulta (operação de lookup) seja resolvida em
um único salto, mantém uma tabela de roteamento com referências para todos os participantes do
sistema. A taxa de sucesso real
de uma consulta depende da precisão desta informação.
Neste trabalho denominamos o conhecimento sobre o estado de todos os participantes de
um sistema distribuído como sua
composição. Uma alteração na
composição do sistema, que se dá
Figura 6. Exemplo de particionamento do
na ocorrência de qualquer evento,
espaço de chaves em um sistema HyperDHT.
levanta duas questões importantes. Primeiro, como um participante irá detectar o novo evento para atualizar sua visão
local da composição e, segundo, como se dará a transmissão da informação sobre esta
mudança para os demais peers da rede P2P, de modo que todos os participantes possam
manter a informação atualizada sobre a composição e, consequentemente, realizar consultas em um único salto.
A primeira questão, referente à detecção de novos eventos por peers participantes
do sistema, é resolvida no HyperDHT pelos protocolos de entrada e saída de peers, e
pelo resultado dos testes que cada participante realiza baseado no grafo T (S). O grafo
T (S) também auxilia o HyperDHT na solução da segunda questão, pois ele determina os
enlaces virtuais que cada peer deve estabelecer e utilizar para troca de mensagens sobre
as alterações na composição.
Para manter a visão da composição e a tabela de roteamento corretas e atualizadas, as notificações de eventos devem alcançar todos os participantes do sistema o mais
rápido possível, mas sem comprometer os recursos de rede. O algoritmo DiVHA permite
alcançar este objetivo, pois ele fornece a garantia de que o maior caminho que uma notificação deverá percorrer para atingir todos os peers do sistema é de log2 N saltos, onde N
é a quantidade de vértices existentes no sistema. Resultados da simulação mostram que,
na média, a maioria dos eventos é totalmente propagada na metade deste tempo.
O processamento de uma consulta que recebe como entrada uma chave qualquer
do espaço de chaves, implica em determinar corretamente qual o peer responsável pela
chave. No HyperDHT as consultas são trivialmente resolvidas com base apenas no conhecimento local, o que torna possível realizar operações de put e get em apenas um
único salto. O pseudo-código da figura 7 especifica como o algoritmo de lookup é executado no HyperDHT. O primeiro passo é determinar o vértice que acomoda a chave k,
111
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
calculado pela expressão da linha 2. Em seguida, na linha 3, a chamada para função
find_vertice_owner retorna o identificador do peer responsável pelo vértice v. Na
quarta linha, este identificador é utilizado para indexar a tabela de roteamento que contém
as informações necessárias para contactar o peer i.
No HyperDHT existe
uma única situação onde podem 01. lookup ( k, d, S ) {
02.
v = floor( k / pow( 2, 160-d ) )
ser necessários saltos adicionais 03.
i = find_vertice_owner ( v, S )
RETURN address of peer i from routing table
para completar as operações 04.
05. }
put e get. Esta situação ocorre
Figura 7. Pseudo-código - algoritmo lookup
quando um lookup é realizado em
do HyperDHT.
uma chave cujo peer responsável
tornou-se indisponível, e a notificação associada a este evento ainda está em fase de
propagação. Neste caso, não é possível concluir com sucesso a operação e, com base
nesta resposta, o participante que gerou a consulta atualiza sua visão da composição do
sistema e determina o peer que passou a responder por aquela chave, sem precisar esperar
pela notificação que ainda está sendo disseminada.
4. Resultados Experimentais
Nesta seção são apresentados os resultados obtidos das simulações conduzidas com o
sistema HyperDHT. A implementação foi realizada em linguagem de programação C e
as simulações foram executadas utilizando a biblioteca de simulação de eventos discretos
SMPL (Simple Portable Simulation Language) [MacDougall 1987].
A primeira série teve como objetivo mensurar a latência para propagação de eventos e o uso dos recursos de rede para manutenção do sistema HyperDHT. O sistema simulado teve seu tamanho progressivamente aumentado, sendo que a carga de eventos foi
mantida equivalente em relação ao tamanho do sistema. Foram simulados sistemas de 1
até 9 dimensões, o que corresponde a tamanhos de rede de 2 até 512 vértices. Todos os
vértices foram iniciados em estado ocupado e com o respectivo peer em estado disponível.
Durante a simulação, a produção de um novo evento foi condicionada à inexistência de eventos em fase de propagação, ou seja, um novo evento é criado apenas quando o
evento anterior é completamente propagado. Os vértices geradores de eventos são escolhidos de forma randômica, da mesma maneira que o evento, entre os quatro tipos possíveis,
é escolhido aleatoriamente. No caso do vértice sorteado não suportar o evento escolhido,
como por exemplo um evento de indisponibilidade em um vértice vazio, um novo sorteio
é realizado até que se encontre uma combinação possível.
A latência para disseminação de um evento foi mensurada pelo número de rodadas
de testes necessários para que todos os peers em estado disponível fossem notificados
sobre a ocorrência do evento. A sumarização dos dados coletados é exposta na figura 8.
A curva com pontos representa a latência média, em rodadas de testes, para cada
tamanho de sistema simulado. A área mais escura ao redor desta curva corresponde ao intervalo de confiança de 95%, e as barras verticais mostram as latências máxima e mínima
registradas.
112
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
9
8
7
Latência (em rodadas de testes)
O resultado da simulação demonstra que, na média, os
eventos são completamente disseminados em um número de rodadas de testes equivalente à metade da latência máxima teórica
(log2 N ). O intervalo de confiança mostra que a distribuição
das latências está 95% concentrada próxima ao valor médio. Os
valores máximos e mínimos registrados estão dentro do limite
teórico especificado pelo algoritmo DiVHA.
6
5
●
●
4
●
●
3
●
2
●
●
●
●
1
Para avaliar o custo de
1
2
3
4
5
6
7
8
9
manutenção do HyperDHT tamTamanho do Sistema (em dimensões d , onde N = 2 )
bém foram computados, durante
Figura 8. Latência média com intervalo de
a primeira série de simulações, a
confiança de 95%.
quantidade de mensagens e o volume de dados trocados entre os peers. O volume total de dados inclui o overhead decorrente dos cabeçalhos da pilha de protocolo TCP/IP.
d
0.5
0.4
0.3
0.2
0.1
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Uso médio da banda de rede por peer (em Kbps)
O consumo médio dos recursos de rede por peer é exibido na figura 9. Os valores aferidos são relativamente inexpressivos se comparados com a disponibilidade de banda atualmente
disponível. Com intervalo de testes de 30 segundos seria possível, inclusive, fazer uso de tecnologias mais antigas como os modens dial-up para conexão de peers em uma rede HyperDHT. Ou,
quando a banda de rede é abundante, pode-se considerar o uso
de intervalos de testes menores
para redução da latência e, consequentemente, minimizar os casos onde saltos extras em consultas são necessários.
0.0
1 16 32
64
128
256
512
Tamanho do Sistema (em quantidade de peers)
Figura 9. Uso médio dos recursos de rede
por peer.
Por fim, cabe salientar
que os resultados do consumo dos recursos de rede da D1HT e OneHop DHT são originalmente apresentados em outra métrica ou não consideram o overhead, impossibilitando
a comparação com os resultados obtidos pelo HyperDHT.
A segunda série de simulações teve como objetivo principal verificar o impacto de
113
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
diferentes cargas de eventos (churn) na taxa de sucesso das operações get em um único
salto. O sistema simulado teve dimensão d = 8 de 256 vértices, onde cada vértice foi
inicializado em estado ocupado com seus respectivos peers em estado disponível.
No primeiro instante da simulação foram introduzidos, através de operações put,
valores pré-determinados na DHT, os quais posteriormente eram utilizados para testar o
sucesso das operações get em um único salto. Os gets foram realizados ao final de cada
rodada de testes, para tanto os peers sorteavam uma chave entre as previamente introduzidas. O fator de replicação foi de k = 9, ou seja, existiam no mínimo 10 cópias de um
dado valor em peers distintos. Somente após a fase de inserção e replicação dos valores é
que se iniciou a geração de eventos. O vértice e o tipo do evento, como na primeira série,
foram escolhidos de forma aleatória, mas sem a condição que impedia eventos simultâneos. O sistema também não podia ter sua dimensão alterada, o que implicou ignorar
entradas de novos peers no caso de todos os vértices estarem em estado ocupado.
No caso da ocorrência de um evento de saída de um peer, o simulador também
deveria escolher entre os dois tipos de saída possíveis: (1) seguindo o protocolo de saída,
ou (2) saída imediata, sem comunicar os vizinhos. Para este fim, foi determinado que a
chance do peer sair de forma imediata é de 33%. Caso contrário, o peer permanece na
rede por d rodadas de testes, honrando o protocolo de saída para garantir a disponibilidade
dos valores em um único salto.
Para uma dada configuração de sistema, foram simuladas 3 cargas diferentes de
eventos, onde a carga de eventos 1 indica que o simulador manteve apenas 1 evento concorrente por vez. Na carga de eventos 2 eram mantidos 2 eventos concorrentes durante a
simulação e, da mesma forma, a carga de eventos 3 corresponde a 3 eventos concorrentes.
Além disso, também foram simulados sistemas com diferentes intervalos de testes (30, 20
e 10 segundos), para verificação do efeito deste parâmetro no consumo dos recursos de
rede. O resultado desta série é composto pelos dados obtidos em 9 simulações distintas.
O gráfico da figura 10 sumariza, com foco na ocorrência
de gets em múltiplos saltos, os resultados da segunda série de simulações. O valor das barras
representa a porcentagem desta
Intervalo de testes (em seguntos)
10
20
30
0.0471
Ocorrência de get s com multiplos saltos (em porcentagem)
Durante a simulação foram registradas a quantidade de
gets respondidos em um único
salto, bem como os gets que necessitaram de saltos extras para
obtenção da resposta. A quantidade de gets realizados por simulação depende do intervalo de testes simulados, sendo que a menor
quantidade de gets registrado em
uma simulação foi de 29.130, e a
maior foi de 67.496.
0.0353
0.0337
0.0295
0.0263
0.0231
0.0184
0.0121
0.0041
1
2
3
1
2
3
1
2
3
Ocorrência de Eventos (ch urn)
Figura 10. Impacto do Churn na taxa de sucesso de gets em salto único.
114
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
ocorrência em relação à quantidade total de gets. Os resultados são apresentados em
função da carga de eventos e estão agrupados pelos respectivos intervalos de testes.
A configuração que apresentou a maior ocorrência de gets em múltiplos saltos
(0.0471%) foi o sistema com intervalo de testes de 30 segundos e carga de eventos 3. Este
resultado condiz com o que era esperado, pois quanto maior o intervalo entre os testes,
potencialmente maior será o tempo para detecção de um evento e para sua propagação.
Outro fator que tem influência na taxa de sucesso de gets de salto único é a dimensão do
sistema pois, quanto maior a dimensão, potencialmente maior será o número de rodadas
de testes necessário para a propagação de um evento. Em ambos os casos, maior será a
probabilidade de incidência de gets em uma chave relacionada a um peer cujo evento de
indisponibilidade está em fase de disseminação.
A quantidade de gets de múltiplos saltos registrada foi inexpressiva em relação à
ocorrência total de gets, não impactando no funcionamento geral dos sistemas simulados.
A D1HT e a OneHop DHT não apresentam um estudo relativo a este parâmetro, impossibilitando uma comparação. De qualquer forma, se considerarmos que as três DHTs têm,
no pior caso, tempo de disseminação logarítmico em função do tamanho do sistema, o
HyperDHT é o único que apresenta, nos protocolos de entrada e saída, mecanismos para
aumentar a disponibilidade dos valores em um único salto. Isso é possível no HyperDHT
pois o DiVHA garante a latência máxima. O mesmo não ocorre na D1HT e na OneHop
DHT, onde a latência máxima, em certas circunstâncias, pode ser maior que o log2 de N .
5. Conclusões
O HyperDHT foi apresentado como uma DHT de salto único que utiliza o algoritmo
DiVHA para a construção e manutenção da rede de sobreposição, herdando os procedimentos de diagnóstico distribuído, bem como o limite máximo para latência. Um dos
pontos de destaque do HyperDHT, em comparação com outras DHTs de salto único, é
a incorporação de mecanismos no protocolo de entrada, para posicionar deterministicamente um novo participante no local da rede onde ele é mais necessário. Em geral, as
demais DHTs deixam o problema do posicionamento de um novo participante por conta
da função hash, acreditando que o efeito avalanche irá fazer uma distribuição razoavelmente homogênea. Este trabalho apresenta os protocolos e algoritmos necessários para
construção de uma DHT de salto único: o particionamento, o mapeamento consistente,
o balanceamento das chaves hash, a especificação dos protocolos de entrada e saída de
participantes e, os mecanismos para posicionamento e busca dos pares chave/valor. Além
disso, também são especificados mecanismos para replicação dos pares chave/valor a fim
de evitar a falha de consultas.
Foram apresentados resultados experimentais para latência requerida em diversos
tamanhos de sistemas e para a influência de diferentes cargas de churn na taxa de sucesso
das operações get. Os trabalhos futuros serão iniciados portando-se o código implementado no simulador para a execução de experimentos em um ambiente mais próximo do
modelo real, como o PlanetLab. Outro ponto que poderá ser considerado em trabalhos
futuros, é a análise dos efeitos que peers maliciosos podem causar na rede HyperDHT, e
as possíveis contra-medidas que podem ser tomadas para proteger o sistema durante este
tipo de ataque.
115
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Referências
A. Gupta, B. L. and Rodrigues, R. (2004). Efficient routing for peer-to-peer overlays. Proceedings of the Symposium on Networked Systems Design and Implementation (NSDI).
Androutsellis-Theotokis, S. and Spinellis, D. (2004). A survey of peer-to-peer content
distribution technologies. ACM Computing Surveys.
B. Y. Zhao, J. Kubiatowicz, A. and Joseph (2001). Tapestry: An infrastructure for faulttolerant wide-area location and routing. Tech. Rep., University of California at Berkeley, Computer Science Department.
C. Zhuo, F. Gang, Z. Y. and Yi, L. (2012). Sdht: Efficient one- hop dht lookup framework
for p2p live streaming. China Communications, 9(8):88–104.
D. Karger, E. Lehman, T. L. R. P. M. L. and Lewin, D. (1997). Proceedings of the twentyninth annual acm symposium on theory of computing. ACM Press New York, NY, USA.
D. Malkhi, M. N. and Ratajczak, D. (2002). Viceroy: A scalable and dynamic emulation of the butterfly. In Proceedings of the 21st ACM Symposium on Principles of
Distributed Computing (PODC).
E. K. Lua, J. Crowcroft, M. P. R. S. and Lim, S. (2005). A survey and comparison of
peer-to-peer overlay network schemes. IEEE Communications Surveys & Tutorials.
Fraigniaud, P. and Gauron, P. (2003). The content-addressable network d2b. Technical
Report LRI-1349, Universie de Paris Sud.
I. Stoica, R. Morris, D. K. M. K. and Balakrishnan, H. (2001). Chord: A scalable peerto-peer lookup service for internet applications. Proceedings of SIGCOMM’01, San
Diego, CA, USA.
J. Risson, A. H. and Moors, T. (2006). Stable high-capacity one-hop distributed hash
tables. Proceedings of the 11th IEEE Symposium on Computers and Communications
(ISCC’06).
Kaashoek, M. and Karger, D. (2003). Koorde: A simple degree-optimal distributed hash
table. In Proceedings of IPTPS.
L. C. E. Bona, E. P. Duarte Jr., e. a. (2008). Hyperbone: A scalable overlay network based
on a virtual hypercube. The 8th International Symposium on Cluster Computing and
the Grid (CCGRID 2008).
MacDougall, M. H. (1987). Simulating computer systems: Techniques and tools. The
MIT Press, Cambridge, MA.
Monnerat, L. R. and Amorim, C. L. (2006). D1ht: A distributed one hop hash table.
Technical Report ES-705/06, COPPE/UFRJ.
P. Fonseca, R. Rodrigues, A. G. and Liskov., B. (2009). Full information lookups for
peer-to-peer overlays. IEEE Transactions on Parallel and Distributed Systems.
Rowstron, A. and Druschel, P. (2001). Pastry: Scalable, decentralized object location and
routing for large-scale peer-to-peer systems. IFIP/ACM International Conference on
Distributed Systems Platforms (Middleware), Heidelberg, Germany.
S. Ratnasamy, P. Francis, M. H. R. K. and Shenker, S. (2001). A scalable contentaddressable network. ACM SIGCOMM, San Diego, CA, USA.
116
32º Simpósio Brasileiro de Redes de Computadores e
Sistemas Distribuídos
Florianópolis - SC
IX Workshop de Redes P2P,
Dinâmicas, Sociais e Orientadas a
Conteúdo (Wp2p+)
Sessão Técnica 4
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Towards the Application of WebRTC Peer-to-Peer to Scale
Live Video Streaming over the Internet
Flávio Ribeiro Nogueira Barbosa1, Luiz Fernando Gomes Soares2
1
WebMedia – Globo.com
Rio de Janeiro – RJ – Brazil
2
Department of Informatics – PUC-Rio
Rio de Janeiro – RJ – Brazil
[email protected], [email protected]
Abstract. Given the growth on the number of Internet users and the quality of their
connections, building large Internet live broadcasts has become increasingly
challenging. This paper introduces the use of WebRTC peer-to-peer technology to
analyze a hybrid CDN-P2P structure in order to decrease the number of requests to
CDN servers, reducing the cost of transmission and enhancing system’s scalability.
1. Introduction
Following audience growth on the Internet and the users’ inherent preference for multimedia
over text-based content consumption, it is widely believed that video distribution will
dominate the traffic over the Internet. Despite the audience records and the desire of large
broadcast companies to increase the amount of online broadcasts, challenges related to
scalability, economic costs and the quality of consumer’s experience of these transmissions
are still an open issue.
Assuming that the absolute majority of the audience watches online videos using web
browsers, this paper makes use of WebRTC peer-to-peer technology to propose a simple
hybrid P2P-CDN model that tries to relieve the amount of requests to video chunks on content
servers, reducing transmission cost and taking advantage of peer-to-peer distributed
computing to improve user experience and system scalability.
2. Motivation
The last big events broadcasted worldwide have received a huge number of online viewers and
this phenomenon is expected to continue in the coming years. As examples, Red Bull Stratos
2012 was broadcasted by Google’s YouTube Live Streaming platform and attracted more than
8 million concurrent users [Katz 2012]. FIFA’s Confederations Cup 2013 was broadcasted
only to Brazilian residents by Globo.com and reached almost half a million users at its peak.
Not only audience is growing but also the quality of videos produced. As users get
better connections, they become more demanding, and content producers are trying to meet
their expectations. Sochi 2014 Winter Olympics was streamed in Brazil in High Definition (at
720p), with 3.5Mbps as its maximum bitrate. Netflix is expecting to be delivering 4K videos
within a year or two [Sandoval 2013]. Analyzing the prediction of transmission quality of
FIFA’s next World Cup and comparing it with the last two World Cup online broadcasts, we
can observe an exponential growth in the quality of videos delivered (Figure 1).
The high desire to consume high-quality video brings several technical challenges.
Usually, big companies that broadcast videos to hundreds of thousands, or even millions of
people, use Content Delivery Networks (CDN’s) in order to meet all the audience’s demand.
119
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Figure 1. Maximum Delivered Video Bitrate by Globo.com at FIFA World Cup
The main purpose of a CDN is to distribute contents over a set of agglomerated web servers
highly distributed around the world (also known as Points of Presence or just PoP’s), so as to
guarantee a reliable, scalable and efficient delivery of the contents to end users [Bronzino et al
2012]. However, this approach has some downsides:
Scalability. CDN’s serve users through PoP’s. When someone is far from the PoP, he depends
on some communication links to reach the requested content. This way, CDN’s scale adding
PoP’s wherever they can. In countries with poor telecommunications and slow Internet
exchange points (IXP), the necessity for more PoP’s is greater and this problem is further
aggravated.
Cost. CDN providers are, in fact, expensive. According to [Spangler 2009], Google YouTube
would spend 1 million dollars per day on bandwidth accounts in 2009.
Quality of Experience. It was noticed that last large online transmissions based entirely on
CDN’s had several network issues, and audience’s experience was severely degraded
[Zimmerman 2014] [Nordyke 2014]. CDN-based approaches have shown that the crucial
dependency of certain PoP’s makes the system relatively fragile, and the overload of one PoP
can lead to a domino effect.
3. Background
Before explaining the proposed model and our implementation, an introduction regarding the
techniques and protocols used in this study is required.
3.1 Current Video Distribution Techniques
Since the beginning of multimedia online broadcasts, stateful protocols such as Real-Time
Transport Protocol (RTP) and Real-Time Messaging Protocol (RTMP) were preferred instead
of stateless ones. These protocols have the capability of maintaining one connection between
server and client while sending streams of video, audio and data packages [Parmar and
Thornburgh 2012].
The mentioned protocols require specialized media servers to generate the streaming
and handle users’ connection. They are mostly implemented on top of User Datagram Protocol
(UDP) [Yuste and Melvin 2012], and several network providers, and even some firewalls,
block or penalize UDP traffic.
These limitations gave space to the creation of some stateless HTTP-based streaming
protocols on top of TCP, like Microsoft Smooth Streaming, Adobe HTTP Dynamic Streaming
(HDS), Apple HTTP Live Streaming (HLS) and MPEG DASH. HTTP is the foundation of
data communication for the World Wide Web (WWW), which eliminates the issues related to
traffic penalization. All the content is served by ordinary web servers like Apache HTTP
Server or Nginx and favors the use of CDN’s. The downside of HTTP-based protocols is the
120
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
insertion of delay, since the act of slice the video and playlist creation or update can take a few
seconds.
This work focuses on HTTP Live Streaming that was developed by Apple and
documented as an Internet Draft, the first stage in the process of submitting it to the IETF as
an Informational Request for Comments (RFC).
3.2 WebRTC
Since October 2011, The World Wide Web Consortium (W3C) is developing a Working Draft
to add Real-Time Communications (WebRTC) capabilities between web browsers [Berkvist et
al 2011]. These capabilities include the direct sharing of video, audio and data. Although
being a draft, WebRTC capabilities are already integrated in 2 of the 3 most used browsers in
Brazil (Google Chrome and Mozilla Firefox) and at the time this document is being written,
almost 73% of the users who visit Globo.com already have WebRTC in their browsers. Before
WebRTC Working Draft, direct communication between browsers was possible only with
third-party plugin software and significant proprietary server infrastructure [Naylor 2013].
3.3 Peer-to-Peer
Peer-to-Peer (P2P) is a distributed network architecture in which nodes share a part of their
resources to contribute to the service and content offered by the network. With the advent of
WebRTC on browsers, P2P is presented as a promising technique for the scalability problem
in video streaming over the Internet.
4. Proposed Solution
Using the browsers’ ability to connect to others through WebRTC, we propose a hybrid peerto-peer network to assist video chunks delivery. The proposal is called hybrid due to the fact
that one node can exchange messages and request chunks to other peers or request it directly
to the CDN. CDN-P2P models are widely studied [Huang et al 2008] [Bronzino et al 2012]
and the application of these models in our scenario can provide many benefits.
An inherent characteristic of P2P services is that network performance does not
deteriorate (and usually improve) as network size increases and when resource relevance is
high, cooperation in a P2P solution evolves naturally [Roussopolous et al 2004]. This way,
huge broadcasts can take advantage of peer’s upload bandwidth to exchange video chunks.
Peer-assisted data sharing can decrease the upload bandwidth of content servers up to about
96% [Cho et al 2010], decreasing the cost of transmission and reducing bottlenecks, resulting
on the improvement of the audience’s experience.
The implementation of this approach was released under Apache 2.0 License and can
be obtained in http://github.com/flavioribeiro/bemtv.
4.1 Peer entrance and Signaling
In our work, we use ISP-location and Geolocation Awareness concepts [Kovacevic 2009] to
build clusters of nodes that can exchange messages between then. These clusters are called
peer swarms. When a node wants to watch a live streaming, it first reaches a URL that will
estimate peer’s location and Internet provider, returning a swarm name for the node to connect
to their common.
The act of connecting to their common is basically to announce the node and swarm
name, captured on the earlier step, to a central signaling server, which will propagate the
announcement to all nodes in the swarm. Every node that receives the announce will try to
connect directly to the node throughout STUN servers [Rosenberg et al 2008] and, if it
121
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
succeeds, both earn a directly peer-to-peer channel communication (WebRTC Data Channel).
Nodes store all communication channels in a hash table to use for chunk negotiation on next
steps.
4.1 Video Chunks Exchange Protocol
In this section we describe a protocol used to exchange chunks between peers on the same
swarm.
As in every HTTP-Based Streaming Protocol, when the user presses play, the video
player requests a playlist from the CDN. On HLS, when a playlist doesn’t have the EXT-XENDLIST tag at playlist’s end, it means that it is a live streaming and the player will need to
hit the same playlist periodically looking for new video chunks.
After the player has received and parsed the playlist, it starts to request video chunks.
Instead of the common HTTP request for the chunk from the CDN, the node sends a DESIRE
to every node of the peer swarm and each node that receives the DESIRE searches for the
chunk in its cache. Our implementation stores the last 10 chunks watched, and if the chunk
requested is cached, the node sends back a DESACK. The desiring peer looks for the best
node from the pool of nodes that sent DESACK and sends a REQ to the chosen one. Every
peer that receives a REQ is ensured by the previous step that the chunk is in its cache and then
it sends an OFFER with the chunk to the desiring peer.
When the desiring peer sends the DESIRE to swarm, it waits for a timeout of 0.7
seconds and if nobody answers, it requests directly to the CDN using the traditional serverclient HTTP schema. The same occurs if the node chosen to send the chunk takes more than 1
second to send the file itself. On Figure 2, Peer A presents the desiring peer.
Figure 2. Chunks Exchange Protocol
4.2 Early Experiments
We submitted a live stream to the model proposed in this paper looking for the reduction in
the number of requests to the CDN.
We used a total of ten Apple MacBook White with 2 CPU cores and 2GB SDRAM
running a Mozilla Firefox 27.1 browser, fully compatible with WebRTC’s last draft
specification, and Apple Safari 6.0.5 Browser which is capable of playing HLS streams
natively. All computers were in the same wireless 10/100 Mbps hotspot, which means that
they were in the same geolocation and Internet provider and, consequently, peers in the same
swarm. The streaming was split in chunks with 5 seconds of duration and 600Kbps of bitrate
quality using HTTP Live Streaming Protocol. The CDN was represented by one server with 1
logical core and 512MB of SDRAM. Swarm name discoverer and signaling server were also
running on this instance.
122
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
All computers were subjected to one hour of streaming consumption using the native
Apple Safari player and then compared with one hour of streaming using the player
implementation described on this paper.
4.2.1 Results
The results have shown that the native player made 7457 requests to the CDN while our player
made 4482. Since none of the players had playback issues, it suggests that 2975 chunks were
exchanged throughout P2P, meaning a reduction of 39.89% on the total of direct requests to
the CDN.
Figure 3. Number of Requests using CDN-only and CDN-P2P
5. Conclusion
Based on the experiment described and aware that web browsers are evolving, we can assume
that the application of WebRTC in a CDN-P2P architecture to support HTTP-based live
streams are quite promising. We believe that improvements on the data exchange protocol can
increase much more the percentage of chunks trade around peers, reducing the cost of
transmissions, increasing the scalability of the system and enabling a better experience for the
consumer.
5.1 Future Work
A lot of challenges still remain. The proposed protocol demonstrated to be quite unstable, as
shown by the fluctuation of requests per minute in Figure 3. This section describes some
improvements that need to be applied to the protocol in order to be considered a truly robust
and production-ready system.
Peers Convergence and Over swarming. The approach used on this paper has shown effective
for a small amount of peers. However, build swarms to support all users on a given
Geolocation and ISP can accumulate hundreds or even thousands of users leading to an
excessive exchange of DESIRE and DESACK messages. The use of reputation [Xiong and
Liu 2004], partnership [Li et al 2008] or leader election [Kutten 2013] should be investigated.
Video Chunks Exchange Protocol. With the improvement on swarm formations, we believe
that the proposed protocol’s stability should be improved and the number of chunks
transferred over the P2P overlay should increase. However, researches regarding the ideal
chunk size, video bitrate and node’s cache size are required. The protocol must also ensure
that chunks negotiation and transfer cannot interfere in the user experience. All these scenarios
must be explored.
Content Security. The protocol described in this paper does not guarantee that the content
exchanged between peers is indeed the same as in the CDN. Algorithms that detect poisoned
chunks and DoS starvation such [Medina-López et al 2013] needs to be applied.
123
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
References
Berkvist, A., Burnett, D., Jennings, C. Narayanan, A. (2011) “WebRTC 1.0: Real-Time
Communication Between Browsers”. Working Draft.
Bronzino, F. Gaeta, R. Grangetto, M. Pau, G. (2012) “An Adaptive Hybrid CDN/P2P Solution
for Content Delivery Networks”. VCIP, page 1-6, IEEE.
Cho, S., Cho, J., Shin, S. (2010) “Playback Latency Reduction for Internet Live Video
Services in CDN-P2P Hybrid Architecture”. 2013 IEEE International Conference on
Communications.
Huang, C., Wang, A., Li, J., Ross, K. (2008) “Understanding hybrid CDN-P2P: why limelight
needs its own Red Swoosh”. Proceedings of the 18th International Workshop on Network
and Operating Systems Support for Digital Audio and Video.
Katz, T. (2012) “Mission Complete: Red Bull Stratos lands safely back on Earth”.
http://goo.gl/bX31hl, accessed in March 2014.
Kovacevic, A., Graffi, K., Pussep, K., Steinmetz, R. (2009) “Underlay awareness in P2P
systems: Techniques and challenges”. IEEE Symposium on Parallel & Distributed
Processing.
Kutten, S., Panduragan, G., Peleg, D., Robinson, P., Trehan, A. (2013) “On the complexity of
universal leader election”. Proceedings of the ACM symposium on Principles of distributed
computing.
Li, B., Xie, S., Qu, Y., Keung, G.Y. (2008) “Inside the New CoolStreaming: Principles,
Measurements and Performance Implications”. IEEE 27th Conference on Computer
Communications.
Medina-López, C., Naranjo, J.A.M., García-Ortiz, J. P., Casado, L. G., González-Ruiz, V.
(2013) “Execution of the P2PSP protocol in parallel environments”. XXIV Jornadas de
Paralelismo. Madrid, Spain.
Naylor, A. (2013) “WebRTC is almost here,
http://goo.gl/IgxF33, accessed in March 2014.
and
it
will
change
the
web”.
Nordyke, K, (2014) “HBO Go Crashes During ‘True Detective’ Finale”. http://goo.gl/zixUr7,
accessed in March 2014.
Parmar, H. and Thornburg, M. (2012) “Adobe’s Real Time Messaging Protocol”.
http://goo.gl/cGMWPI, accessed in March 2014.
Rosenberg. J, Mahy, R., Matthews, P. Wing, D. (2008) “Session Traversal Utilities for NAT
(STUN)”. IEFT Proposed Standard.
Roussopolous, M., Baker, M., Rosenthal D. S. H., Giuli T. J., Maniatis, P., Mogul, P. (2004)
“2 P2P or Not 2 P2P?”. Third International Workshop, IPTPS 2004.
Sandoval, G. (2013) “. Netflix Chief Product Officer: expect 4k Streaming within a year or
two”. http://goo.gl/F4S133, accessed in March 2014.
Spangler, T. (2009) “YouTube May Lose
http://goo.gl/oNgAzY, accessed in March 2014.
$470
Million
in
2009:
Analysts”.
Xiong, L. and Liu, L. (2004) “PeerTrust: Supporting Reputation-Based Trust for Peer-to-Peer
Electronic Communities”. IEEE Transactions on Knowledge and Data Engineering.
Yuste, L. and Melvin, H. (2012) “A Protocol Review for IPTV and WebTV Multimedia
Delivery Systems”. Scientific Letters of the University of Zilina, vol 14.
Zimmerman, A., (2014) “ABC Promised to Livestream the Oscars and Totally Failed”.
http://goo.gl/sTNb7d, accessed in March 2014.
124
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
S4Q: Um Algoritmo para Seleção de Vizinhos Baseada em
QoE para Sistemas P2P de Transmissão de Vídeo
Peron Rezende de Sousa1 , Sidney Cunha de Lucena2 , Morganna Carmem Diniz2 ,
Antonio Augusto de Aragão Rocha1 , Daniel Sadoc Menasché3
1
Instituto de Computação
Universidade Federal Fluminense (UFF)
2
Centro de Ciências Exatas e Tecnológicas
Universidade Federal do Estado do Rio de Janeiro (UNIRIO)
3
Departamento de Ciência da Computação
Universidade Federal do Rio de Janeiro (UFRJ)
{sidney, morganna}@uniriotec.br,
{prezende, arocha}@ic.uff.br, [email protected]
Abstract. Much research has been conducted in order to provide certain levels
of QoS to P2P networks, for they represent a scalable and cost-effective alternative. Among these studies met the challenge of selecting peers. In this work
we present a new algorithm in this area. It makes decisions with the aid of a
new QoE metric, called “stress level” and also presented here. Despite the new
metric has not yet been validated with users, it was possible to apply it and get
positive results. Our proposal comes to have, at least, 19% fewer pieces of video
absences at the time of reproduction other algorithms of the state of the art and
a more rapid decrease in “stress level” 32%.
Resumo. Muitas pesquisas tem sido realizadas com o intuito de prover certos
níveis de QoS as redes P2P, por elas representarem uma alternativa escalável
e de baixo custo. Entre esses estudos encontramos o desafio da seleção de pares. Neste trabalho apresentamos um novo algoritmo nessa área. Ele toma suas
decisões com o auxílio de uma nova métrica em QoE, denominada “nível de
estresse” e também apresentada aqui. Apesar da nova métrica ainda não ter
sido validada com usuários, já foi possível aplicá-la e obter resultados positivos. Nossa proposta chega a ter, pelo menos, 19% menos ausências de pedaços
de vídeo no momento da reprodução que outros algoritmos do estado da arte e
uma redução no “nível de estresse” 32% mais rápida.
1. Introdução
As aplicaccões de distribuição de vídeo, sem dúvida, estão entre as de maior sucesso na
Internet atual. Além dos sistemas Par-a-Par (Peer-to-Peer - P2P), existem outras soluções para fornecimento de vídeo, como o modelo cliente-servidor, o multicast e as redes
de distribuição de conteúdo (Content Delivery Network - CDN). Porém, nenhum desses
modelos se compara ao P2P em custo e escalabilidade.
Assim como as demais soluções, o P2P nem sempre consegue oferecer determinados níveis de qualidade de serviço (Quality of Service - QoS). A transmissão de vídeo
requer uma grande largura de banda passante e é sensível ao atraso, jitter e perda de pacotes. Garantir valores adequados a esses indicadores de QoS e escalabilidade são grandes
125
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
desafios para qualquer arquitetura que venha ser empregada [Moraes et al. 2008]. Quando
se fala de sistemas P2P para transmissão de vídeo, um mecanismo exerce um papel fundamental na eficiência do seu funcionamento: a seleção de vizinhos dos pares da rede.
Selecionar estrategicamente os melhores pares pode ser essencial para se alcançar o nível
de QoS requerido pela aplicação.
Diferentes mecanismos já foram propostos na literatura com o objetivo de tornar mais eficiênte a seleção de pares [Xie et al. 2008, Choffnes and Bustamante 2008,
Polaczyk and Cholda 2010]. No entanto, até o limite do nosso conhecimento, não foram encontradas na literatura propostas para seleção de pares que façam uso de métricas
explícitamente associadas à qualidade da experiência do usuário (Quality of Experience
- QoE). Podemos encontrar uma idéia semelhante em [Ghareeb, Ksentini e Viho 2011],
onde o sistema se baseia em avaliações de QoE para ajustar a transmissão de fluxos de
vídeo SVC sobre vários caminhos. O método seleciona dinamicamente os melhores caminhos na sobreposição usando as estimativas de largura de banda disponível. A manutenção dos caminhos selecionados é, então, feita automaticamente com base no feedback
da qualidade como ela é percebida pelo usuário final. Para avaliar a QoE no destinatário,
os autores usaram um módulo compatível com SVC e uma ferramenta híbrida para Avaliação da Qualidade Pseudo-Subjetiva (Pseudo Subjective Quality Assessment - PSQA).
Outro parecido é o de [Rosário et al 2013] que molda o roteamento de uma rede wireless
por meio de QoE.
Nossa implementação, intitulada Seleção por Qualidade (S4Q), verifica em cada
participante de uma rede BitTorrent (um tipo de implementação P2P), com quais outros
participantes foi mantida uma comunicação contínua ao longo do tempo, formando com
isso o que será conhecido ao longo deste texto como Lista de Pares Estáveis (LPE). Dessa
forma cada par da rede poderá ter uma LPE e cada uma delas pode ser útil aos outros
pares se partirmos do pressuposto que, caso os integrantes da LPE de determinado par estejam tendo uma boa “experiência” com suas respectivas LPEs, existe uma chance desse
par também ter caso ele utilize a LPE dos integrantes de sua LPE. Logo, mecanismos
de seleção de pares podem tirar proveito dessa informação. Restava apenas saber como
definir a qualidade da “experiência” e atribuir essa impressão as LPEs. Com esse propósito desenvolvemos uma nova metodologia, denominada Avaliação Áurea de Qualidade
(A2 Q). Nossa metodologia produz uma métrica em QoE, que está relacionada a ausência
de pedaços do vídeo no momento da reprodução, cujo resultado denominamos “nível de
estresse”. Com isso o QoE obtido é atribuído à LPE. Ao promover a troca de LPEs com
boa QoE esperamos realizar transmissões mais rápidas e com mínimo de interrupções.
A eficiência da nossa implementação é comparada com o BitTorrent tradicional e
com outros três algoritmos do estado da arte (Ono, P4P e Yukka). Os resultados mostram
que nossa proposta chega a ter, pelo menos, 19% menos ausências de pedaços de vídeo no
momento da reprodução que os outros algoritmos e uma redução no “nível de estresse”
32% mais rápida. Com a vantagem do S4Q não depender de informações obtidas de
fontes externas à rede P2P.
Este trabalho possui a seguinte organização: a Seção 2 discute os termos e as
teorias que formam a base dessa pesquisa; a Seção 3 explica a nova métrica e o processo
de escolha dos pares; a Seção 4 descreve o ambiente de experimentação, apresenta os
resultados e uma análise dos mesmos; por último, a Seção 5 descreve as conclusões.
126
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
2. Fundamentação Teórica
O BitTorrent é um protocolo P2P, criado por Bram Cohen, que tem o objetivo de favorecer o compartilhamento de conteúdo entre os usuários (peers), que fazem parte de
um grupo (swarm). Esses usuários são qualificados em fornecedor do conteúdo (seeder), possuidor da lista de participates (tracker) e interessados pelo material (leecher)
[Moraes et al. 2008].
Na distribuição, o arquivo (ou bundle de arquivos) que será compartilhado é dividido em pedaços (chunks), de normalmente 512 KBytes. Para cada um deles é calculado
um código hash (SHA1) de 20 bytes correspondente ao seu conteúdo, esse código serve
para verificar a integridade do pedaço, após seu recebimento. A sequência de códigos
hash e o endereço do tracker são informações obtidas no arquivo de metadados (.torrent).
Com essas informações um leecher pode entrar em um swarm.
Ao entrar em um swarm, o leecher solicita um pedaço escolhido aleatóriamente
(modo Random First Piece). Depois de receber esse pedaço ele passa a solicitar o mais
raro (modo Rarest First). Por último, quando todos os pedaços já foram solicitados, o
leecher dispara requisições do que falta a todos os outros peers (modo Endgame).
Repare que seguindo a estratégia acima os pedaços tendem a chegar de forma
desordenada, prejudicando o interesse de quem tem a intenção de assistir um vídeo com
BitTorrent durante o download. No decorrer deste trabalho vamos nos refererir a essa
estratégia como Algoritmo de Seleção Aleatória de Pedaços (ASAP).
Não demorou muito para surgir propostas à requisição ordenada de pedaços. Essa
idéia consegue melhorar a reprodução de um vídeo durante sua transmissão, mas provoca
uma maior latência e outros tipos de problemas. Neste trabalho vamos nos referir a essa
estratégia como Algoritmo de Seleção Sequencial de Pedaços (ASSP).
Sobre o modelo tradicional de seleção de pares do BitTorrent, podemos dizer que
ele não utiliza uma central de alocação de recursos, isto é, cada par é responsável pela maximização do seu download e escolha dos pares para os quais realizará upload seguindo a
estratégia tit-for-tat. Nessa estratégia os pares não colaborativos são “afogados” (choke),
ou seja, deixam de receber upload. De tempos em tempos um par afogado é escolhido
aleatoriamente para voltar a receber dados.
Entre as diversas implementações do BitTorrent escolhemos para este trabalho o
Vuze (atual Azureus), por ser open source, multiplataforma, por aceitar acréscimos de
funcionalidades por meio de PlugIns, por ter sido a escolha dos outros algoritmos aqui
avaliados e por possuir uma versão chamada Vuze Play Now, que permite a visualização
de um vídeo durante seu download.
2.1. Algoritmos para Seleção de Pares
Nesta seção apresentamos 3 algoritmos de seleção de pares propostos na literatura. Iremos
comparar nossa proposta contra estas 3 outras soluções e com o método tradicional do
BitTorrent.
Entre as soluções com os melhores resultados e mais referenciadas, sobre o desafio da seleção de pares, está o P4P, que usa dados fornecidos pelos ISPs (Internet Service Providers) sobre suas redes para identificar pares melhores. Nem todos os ISPs têm
127
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
suporte para P4P, portanto seu uso nem sempre representa vantagens atualmente, mas
quando existe esse suporte ocorre uma melhora no desempenho para o usuário final e
também há uma redução no tráfego entre ISPs, o que representa um custo menor para os
provedores [Xie et al. 2008].
Também encontramos o Ono entre as mais difundidas. Sua estratégia é fazer uso
de informações sobre o redirecionamento das CDNs para identificar colegas próximos
e potencialmente acelerar downloads, além de reduzir o trafégo entre ISPs. Segundo
[Choffnes and Bustamante 2008], esse método consegue aumentar a taxa média de download em até 31%.
Outra proposta é o método Yukka. Essa solução realiza consultas aos Regional
Internet Registries (RIRs), para promover agrupamentos geográficos a partir da atribuição
de uma nota de similaridade entre os pares. Os resultados em [Polaczyk and Cholda 2010]
mostram uma redução de até 25% no tempo de download.
2.2. Quality of Experience (QoE)
Atualmente, o termo QoE é utilizado em diversas áreas e representa as métricas utilizadas
para qualificar a percepção do usuário no uso de determinado produto/serviço. Diferentemente das métricas objetivas essas medidas trabalham com o subjetivo, pois dependem
da opinião do usuário. No entanto, podemos relacioná-las às medidas objetivas de QoS.
Entre os estudos sobre os métodos usados como métrica para QoE encontramos a
PSQA, que constrói um mapeamento entre certos fatores de qualidade e o que é recebido
pelos usuários finais. Essa relação pode ser aprendida através de uma ferramenta estatística, a Rede Neural Aleatória (Random Neural Network - RNN). O resultado final é uma
função capaz de imitar, de alguma forma, a maneira que um ser humano médio avalia a
qualidade de um fluxo de vídeo [Rodríguez-Bocca 2008].
Outras métricas de qualidade são encontradas em [Wang 2006], conforme Tabela 1. Em seu trabalho, Wang descreve o PSNR (Peak-Signal-to-Noise-Ratio), desenvolvido inicialmente para avaliação de fotografias e depois adaptado para avaliação de
vídeos. Apesar de simples, o PSNR é considerado pouco assertivo na correlação com
métodos subjetivos. Sobre o MPQM (Moving Pictures Quality Metric), o autor ressalta
que o mesmo apresenta uma grande margem de erro. Wang também destaca que a performace da avaliação do SSIM (Structural Similarity Index), no momento da transmissão
de um vídeo, é desconhecida e, tanto esta métrica quanto a VQM (Video Quality Metric),
precisam conferir o vídeo recebido com o original. O VQM mede ofuscamento, movimento não natural, ruído global, distorção de bloco e distorção da cor, e os combina em
uma única métrica que tem forte correlação com a avaliação subjetiva da qualidade de
vídeo. Por fim, temos o NQM (Noise Quality Measure) que não possui nenhum estudo
que relacione seus resultados com a percepção dos usuários.
As métricas da Tabela 1 e a PSQA não foram aqui adotadas devido a complexa
implementação exigida. Buscamos em outras áreas do conhecimento uma forma mais
simples de avaliar a percepção dos usuários e encontramos no mercado de capitais a Teoria de Elliott, que prevê o comportamento humano utilizando a Sequência Fibonacci
[Elliott 1938]. Nossa proposta se baseia na Teoria de Elliott para medir a QoE.
128
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Tabela 1. Métricas de Qualidade em Vídeo [Wang 2006]
Métrica de Qualidade
Complexidade Matemática
PSNR
MPQM
VQM
SSIM
NQM
Simples
Complexo
Muito Complexo
Complexo
Complexo
Correlação com
Subjetivos
Ruim
Instável
Bom
Razoável
Desconhecido
Métodos
3. Proposta
Nesta seção descrevemos o funcionamento do algortimo, mas antes vamos explicar a razão de algumas escolhas. Para avaliarmos a qualidade de um vídeo de forma mais simples,
decidimos nos apoiar na ausência de pedaços e não na ausência de quadros, como foi sugerido por [Rodríguez-Bocca 2008]. Sobre a taxa de reproção do vídeo, consideramos as
taxas comuns utilizadas, por exemplo pelo NetFlix, que são 512 Kbits/s (baixa resolução)
e 1.536 Kbits/s (alta definição). Por uma questão prática, neste trabalho optamos pela primeira. Considerando que o protocolo BitTorrent utiliza pedaços de 512 KBytes, podemos
concluir que, em vídeos de baixa resolução, cada pedaço conterá cerca de 8 segundos.
Como um vídeo, por padrão, trabalha a uma taxa de 23 quadros por segundo, cada um
destes pedaços conterá cerca de 8 × 23 = 184 quadros.
A perda de um único pedaço, contendo 8 segundos de vídeo, pode parecer muito se
comparamos esse tempo com o que foi avaliado em [Krishnan and Sitaraman 2012], nesse
trabalho os autores estudaram o impacto da qualidade na transmissão de vídeo utilizando
extensivos traces da rede Akamai, que incluem 23 milhões de visualizações feitas por
6,7 milhões de visitantes. O artigo mostra que os espectadores abandonam o vídeo se
este levar mais do que dois segundos para iniciar e para cada segundo adicional há um
aumento de 8% na taxa de abandono. A pesquisa também mostra que uma quantidade
“moderada” de interrupções pode diminuir significativamente o número de espectadores.
Nossa proposta não ataca o tempo de inicialização, nesse ponto é preciso atentar para
certas diferenças entre as redes P2P e as CDNs. No entanto, o trabalho sobre a rede
Akamai serviu de inspiração para a metodologia de inferência de QoE proposta a seguir,
pois nos ajudou a perceber um fato relacionado a variação da QoE no tempo e que torna
plausível o tempo de 8 segundos.
Também existe a questão dos Coders-Decoders (CODEC) de vídeo, que podem
resultar em variações na quantidade de quadros, logo segundos, por pedaços e efeitos
diversos na visualização que tem relação com a estratégia utilizada pelos formatos como,
por exemplo, perdas de key-frames predecessores de intra-frames. Com o objetivo de
simplificar a análise não utilizamos variados tipos de formatos.
A literatura sobre relações entre perdas de pedaços e QoE é escassa, o mesmo
vale para perdas de quadros. Resolvemos estabelecer um paralelo com os trabalhos
[Agboma, Smy e Liotta 2008, Mwela and Adebomi 2010]. Esses artigos pontuaram a
percepção dos usuários sobre perdas de pacotes, fazendo uso de avaliações subjetivas
baseadas em Mean Opinion Score (MOS). Um MOS específico para perdas de pedaços
será elaborado em trabalhos futuros.
129
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
A Tabela 2 foi elaborada empiricamente considerando que 10% de ausências é o
máximo tolerado. Ela foi dividida em 3 níveis por ser o padrão adotado na elaboração
das Escalas de Estresse Percebido (Perceived Stress Scale - PSS). Cada rodada do nosso
experimento leva 2.000 segundos, mesmo tempo utilizado no trabalho com o GoalBit
[Bertinat et al. 2009], onde 10% equilave a 25 pedaços. Reduzimos o teto para 24 pedaços por ser um valor divisível por 3 e para não produzir um acumulado de Fibonacci
muito alto. Nos trabalhos de [Agboma, Smy e Liotta 2008, Mwela and Adebomi 2010]
podemos ver que o MOS é muito baixo quando o sistema sofre 10% de perda de pacotes, por isso decidimos fazer esse vínculo entre o percentual de perdas de pacotes e o
percentual de ausência de pedaços.
Tabela 2. Escala de estresse com três níveis
Níveis de Estresse
Baixo
Médio
Alto
Ausências de Pedaços
0a8
8 a 16
16 a 24
Acumulado de Fibonacci
0 a 54
54 a 2.583
2.583 a 121.392
Nosso objetivo é estabelecer uma relação entre o histórico de perda de pedaços
e a QoE. Para tal, estabelecemos pontuações distintas para reproduções bem sucedidas
e ausências de pedaços. Vamos chamar de “nível de estresse” o valor obtido, com esse
processo de pontuação, em determinado instante.
A A2 Q foi inspirada no trabalho de Elliott. Com o propósito de quantificar a
psicologia humana associada às oscilações dos preços, ele catalogou diversos padrões
gráficos criando regras específicas, originando assim o Princípio das Ondas de Elliott ou,
simplesmente, Teoria de Elliott. A identificação dos padrões gráficos permitiu encontrar
as “formas” existentes no mercado de capitais. Então, Elliott usou a Proporção Áurea ou
Número de Ouro (aproximadamente 1,618) que foi extraída da sequência de números de
Fibonacci, na caracterização das “formas” encontradas [Elliott 1938].
A Sequência Fibonacci é uma sucessão de números que aparece em muitos fenômenos da natureza. Ela é infinita e começa com 0 e 1. Os números seguintes são sempre
a soma dos dois números anteriores. Portanto, depois de 0 e 1, vêm 1, 2, 3, 5, 8, 13, 21
e assim por diante. Por sua inerente simplicidade, resolvemos estabelecer uma relação
entre a Sequência Fibonacci e a ausência de pedaços implementando duas sequências distintas. Uma sequência é responsável por aumentar o “estresse” a cada ausência de pedaço,
enquanto a outra reduz o “estresse” a cada pedaço reproduzido com sucesso.
Para entender melhor, veja o exemplo hipotético da Figura 1a. Começamos com
a Sequência Fibonacci Direta (SFD) para ausências de pedaços marcando 3 e com a
Sequência Fibonacci Inversa (SFI) para reproduções bem sucedidas marcando 1. No momento seguinte, verificamos se o pedaço a reproduzir está presente e, ao constatarmos a
presença do mesmo, os ponteiros se movem no sentido da SFI e é subtraído no nível de
estresse o valor nela marcado, ou seja, 1. No momento seguinte, verificamos se o pedaço a reproduzir está presente e ao constatarmos sua ausência, os ponteiros se movem
no sentido da SFD e é acrescentado ao nível de estresse o valor marcado nela, ou seja, 3.
Na Figura 1b podemos ver o exemplo de um gráfico que mostra uma série de
10 ausências, seguida por uma série de 10 reproduções. É possível notar valores pro-
130
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
(a)
(b)
Acumulado
160
Nível de estresse
140
120
100
80
60
40
20
0
0
20
40
60
80
100
120
140
160
Segundos
Figura 1. Elementos básicos da avaliação de qualidade: (a) as duas Sequências Fibonacci e ilustração da variação de SFD e SFI em função do tempo, e (b)
variação do nível de estresse em função do tempo
gressivamente maiores quando os erros estão próximos. Note que, partindo do princípio de que pessoas muito estressadas não se acalmam imediatamente, os valores caem
lentamente quando a constatação das ausências ainda está recente. Vale reparar que
a forma do gráfico lembra uma exponencial. Na avaliação da percepção do usuário
[Mwela and Adebomi 2010] observou que o MOS parece seguir uma exponencial, conforme o percentual das perdas de pacotes aumenta.
Com a implementação do algoritmo (S4Q), decidimos que a estimativa do nível
de estresse deve iniciar 40 segundos após a solicitação de um vídeo. Esse tempo foi
escolhido por ser o mesmo necessário à chegada dos primeiros dados e formação de buffer
no AnySee, também por ser equivalente a 5 pedaços de vídeo, quando o mesmo possui
uma taxa total de 512 Kbits/s e está dividido em pedaços de 512 KBytes. Escolhemos o
AnySee por ele exigir apenas 40 segundos, enquanto que outros, como o CoolStreaming,
necessitam de até 120 segundos [Liao et al. 2006].
Após o tempo de recebimento dos primeiros dados e buffering do vídeo, o algoritmo começa a verificar, a cada 8 segundos, a presença do pedaço necessário à reprodução segundo dois critérios: corte e pausa. Estes dois critérios representam os cenários
encontrados tanto nos sistemas de TV convencionais (ausências de sinal causam cortes
na transmissão), quanto na maioria das transmissões pela Internet (vídeos do YouTube
pausam diante da ausência de dados). Ele também começa a guardar, a cada 8 segundos,
a lista atual de pares. Após a décima lista é feita uma consolidação, onde apenas os pares que aparecem em todas as listas farão parte de uma única lista (neste trabalho esse
resultado recebe o nome de Lista de Pares Estáveis - LPE). Utilizamos 10 listas porque
uma quantidade menor poderia não ser representativa e uma maior faria com que o algoritmo demorasse para atuar. A determinação da quantidade ideal é assunto para trabalhos
futuros.
A formação da LPE é um processo cíclico que se mantém durante toda a transmissão. Ao gerar uma LPE, o algoritmo verifica o Nível de Estresse por Corte (NEC) e/ou o
Nível de Estresse por Pausa (NEP). Caso ambos estejam baixos, (ver Tabela 2) nada será
feito. Do contrario, uma mensagem perguntando o NEC e o NEP é enviada a cada leecher
da LPE. Os seeders (no VoD) e os broadcasters (na live streaming) não são considerados
porque seus níveis de estresse tendem a zero e não há garantia que eles tenham uma LPE
com bons fornecedores. Na Figura 2a vemos um exemplo em que o par D solicita os
131
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
(a)
NEC 12
NEP 50
NEC 143
NEP 20
C
D
A
E
F
(c)
NEC 12
NEP 50
NEC 143
NEP 20
F
C
NEC 12
NEP 50
NEC 143
NEP 20
E
NEC 20
NEP 57
F
(b)
NEC 12
NEP 78
NEC 232
NEC 80 NEP 120
NEP 42
B
A
F
D
E
NEC 20
NEP 57
D
(d)
NEC 12
NEP 78
NEC 12
NEP 50
C
D
E
C
E
NEC 20
NEP 57
C
NEC 232
NEC 80 NEP 120
NEP 42
B
A
NEC 12
NEP 78
NEC 232
NEC 80 NEP 120
NEP 42
B
A
NEC 12
NEP 78
E
F
D
NEC 232
NEC 80 NEP 120
NEP 42
B
A
Figura 2. O funcionamento do algoritmo para seleção de pares
níveis de estresses aos integrantes da sua LPE (os pares A, E e F), por estar com nível de
estresse médio em NEP, conforme Tabela 2.
Depois de receber as respostas, o par D compara seu maior valor entre NEC e NEP,
com o correspondente de cada resposta, isto é, NEC se compara com NEC e NEP com
NEP, apenas. Não existindo valor menor que o seu, nada será feito, em caso contrário,
uma mensagem solicitando a LPE é enviada ao leecher que apresentou o menor nível de
estresse. Na Figura 2b vemos a continuação do nosso exemplo, onde os pares A, E e F
respondem à solicitação do par D com seus níveis de estresse (A com NEP 42, E com
NEP 78 e F com NEP 20). Na Figura 2c, o par D verifica que o menor nível de estresse
é o NEP 20 do par F e que este NEP é menor que seu próprio NEP, que está em 57.
Diante disso, o par D solicita ao par F a LPE dele. Com a resposta de F, a LPE recebida
é acrescentada a lista de pares (Figura 2d), passando o solicitante (par D) a se comunicar
com os novos pares adicionados - neste caso, o par C, pois D é o próprio solicitante e E
já faz parte da LPE de D.
O recebimento de uma nova LPE não provoca a substituição da atual, apenas provoca o acréscimo de pares. A manutenção dos pares segue por conta da política tradicional
do BitTorrent. A LPE recebida pode conter pares fora do perímetro de qualidade mínima
para comunicação. Por exemplo, um par A pode ter uma boa comunicação com um par
B e indicá-lo ao par C, por meio de sua LPE. Porém, o par C pode não conseguir uma
boa comunicação com B devido a distância geográfica, questões de infra estrutura ou por
motivos diversos.
Dessa forma, com esta proposta, esperamos: (i) reduzir o tempo de download, (ii)
reduzir as interrupções na reprodução do vídeo durante sua transmissão, (iii) promover
a chegada sequencial dos pedaços sem interferir no ASAP e sem provocar os problemas
do ASSP, (iv) produzir uma melhor e mais homogênea QoE entre os pares, (v) promover
132
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
agrupamentos sem uso da taxa de upload, posição geográfica ou informações de fontes
externas, (vi) acelerar a formação de supernodes (pares colaborativos com grande capacidade de upload) e (vii) desestimular free riders (pares pouco ou nada colaborativos).
A redução no tempo de download pode ser alcançada porque o algoritmo possibilita o
encontro de bons fornecedores (pela troca das LPEs) indicados por quem está tendo bons
resultados (baixo NEC/NEP). Uma reprodução do vídeo com menos interrupções, durante
sua transmissão, pode ser obtida porque os valores de NEC e NEP têm relação com a chegada do pedaço antes da necessidade de sua reprodução pelo player de vídeo. Quem tem
um baixo NEC/NEP está recebendo pedaços em uma sequência que permite uma reprodução contínua do vídeo. A organização dos grupos por NEC/NEP induz a uma seleção
sequencial de pedaços, mas sem interferir no algoritmo do BitTorrent que trata esse assunto, reduzindo tanto interrupções no ASAP quanto no ASSP. O algoritmo produz uma
melhor e mais homogênea QoE entre os pares porque a troca das LPEs tende a nivelar o
NEC/NEP dos pares.
A solução promove agrupamentos sem uso de (a) taxa de upload, que pode apresentar problemas com jitter, (b) distância em saltos que exige maior trafego de controle ou
(c) informações de fontes externas que deixam o algoritmo dependente da boa performace
e disponibilidade do serviço consumido. O agrupamento ocorre pela troca das LPEs, pois
os pares tendem a ter uma boa comunicação com os integrantes das LPEs dos integrantes
de sua própria LPE, desde que colhidos de um par com baixo NEC/NEP. Mesmo que isso
não se revele uma verdade, o algoritmo tradicional do BitTorrent trata as exceções com
um choke, isso significa que, um par BitTorrent pode “afogar” seu vizinho, no momento
que este não coopera com ele, interrompendo todos os uploads ao mesmo.
Acelerar a formação de supernodes é uma tarefa que pode ser alcançada partindo
do princípio que esses pares são bons fornecedores e naturalmente aparecem nas LPEs que
são trocadas pela rede. Por outro lado, não descartamos a possibilidade de que ocorra uma
convergência a um pequeno grupo de pares, podendo ocasionar sobrecarga, clusterização
ou que as LPEs causem um sincronismo. Por exemplo, quando um par fica saturado e há
excessiva concentração, o NEC/NEP podem aumentar e, hipoteticamente, provocar uma
migração para um mesmo novo par (sincronismo). Porém, este caso não foi observado
durante os experimentos.
Finalmente, nota-se que o efeito oposto do que ocorre com os supernodes ocorrerá
com os free riders, já que eles não conseguem montar uma LPE e não serão selecionados
pelos outros pares para compor uma LPE. Logo, os free riders não tiram proveito dos
benefícios do algoritmo.
4. Resultados Experimentais
Nesta seção, apresentamos os resultados experimentais e análises decorrentes dos mesmos. Nossos objetivos são (a) mostrar que o S4Q consegue uma transmissão com poucas
ausências de pedaços, (b) que nosso algoritmo obtem bons resultados mesmo utilizando
o ASAP e (c) que ele reduz rapidamente os níveis de estresse, decorrentes do atraso na
inicialização, proporcionando uma melhorar na QoE geral do sistema. Por uma questão de síntese vamos apresentar com maiores detalhes apenas os dados provenientes dos
experimentos com ASAP e com o critério pausa.
133
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
4.1. Ambiente de Experimentação
Os experimentos foram realizados utilizando o ambiente do Planetlab, onde diversas máquinas foram pré-selecionadas de acordo com as suas respectivas disponibilidades e características e escolhidas a cada rodada do experimento (detalhes em [de Sousa 2013]).
Cada cenário foi repetido 30 vezes, eles emulavam uma distribuição de vídeo com o objetivo de comparar a QoE de cada solução para cada algoritmo de seleção de pedaços e
quantidades diferentes de leechers no swarm.
Nosso experimento foi executado em grupos de 25, 50, 75, 100 e 125 peers,
com um tracker e um seeder. Os dados estatíticos foram extraídos do arquivo “Azureus_stats.xml’, que é gerado, por padrão, a cada 30 segundos, quando as estatísticas
estão ativadas. Desse xml coletamos o downloaded e o uploaded de cada peer com o respectivo IP. O registro dos dados aconteceu durante 2.000 segundos. Também foi coletado
diretamente do sistema operacional os níveis de consumo da memória em cada par.
Durante as rodadas recebemos vários alertas do PlanetLab sobre o consumo excessivo de memória e em análise verificamos que se tratava do Ono. Essa solução apresentou
um grande consumo médio de memória física não swapped (Resident Set Size - RSS)
durante a execução de suas tarefas.
4.2. Avaliação dos Resultados Experimentais
A execução do experimento levou mais de 3 meses e desde o início nos preocupamos
em garantir uma igualdade de condições entre as soluções, por isso algumas informações
foram colhidas e verificadas a fim de identificar possíveis distorções. Não julgamos suficiente apenas selecionar aleatoriamente as máquinas que iriam compor cada grupo em cada
rodada, queriamos nos certificar de que nada fora do normal alterasse os dados e beneficiasse uma solução em detrimento das outras, por isso analisamos e classificamos 4 tipos
de situações: (1) máquinas em que não foi possível obter os traces (dados) foram consideradas “desligadas”; (2) que geraram traces, mas não estabeleceram conexão com outras
máquinas foram classificadas como “download zero’; (3) que não completaram o download como “download parcial” e, por último, (4) as demais como “download completo”.
Os dois primeiros casos (desligadas e download zero) têm relação direta com igualdade
de condições em que cada solução foi submetida e esses valores, entre as soluções, foram muito próximos em todos os casos. Os dois últimos tiveram maiores variações, mas
julgamos que essas diferenças são provenientes da estratégia usada por cada algoritmo.
As variações apontadas para o caso download completo foram estudadas por meio
do intervalo de confiança (IC), com nível de confiança em 95%, para o tempo médio de
download. Com ASAP o IC indica um empate técnico entre as soluções para pequenos
swarms, ao aumentar o número de leechers o IC cai para aproximadamente 2% em todas
as soluções. Também avaliamos o download parcial junto com o download completo, por
meio do IC, para o tempo médio de início do download. Neste caso o uso do ASAP gerou
o mesmo efeito já relatado, chegando a 11,52% (Ono com 25 pares) e reduzindo com o
aumento no número de leechers. Resolvemos não mostrar os ICs nos gráficos para maior
clareza na leitura.
O empate a pouco citado pode ter relação com o comportamento do protocolo.
No BitTorrent, por padrão, os leechers solicitam um lista de pares ao tracker a cada 30
134
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
minutos e a responda pode conter até 50. Isso faz com que, em um swarm com até 50
peers, um algoritmo para seleção de pares não tenha muito o que decidir.
Na avaliação do upload a partir do seeder com ASAP constatamos uma variação
entre 5% e 10% da transmissão total do sistema e com ASSP uma oscilação de 15% a
20%, em ambos os casos os valores tendem a 2% conforme o número de pares aumenta.
Logo, podemos concluir que o seeder é mais requisitado em pequenos grupos e mais ainda
quando utilizamos o ASSP. Esse esforço extra do seeder, com ASSP, pode prejudicar o
sistema como um todo. Foi possível notar que o ASSP aumenta a latência reduzindo a
velocidade do download, mas também que ele proporciona uma melhor QoE devido a
chegada sequencial dos pedaços, que, por sua vez, mantém os níveis de NEC/NEP mais
baixos se o compararmos com o ASAP.
Sobre os dados que têm relação direta com a QoE, podemos verificar que o S4Q
tende a ter menos ausências de pedaços. Repare nas Figuras 3 e 4, nossa proposta conseguiu se destacar (ficando em primeiro ou segundo lugar) em quase todos os grupos, exceto
no grupo com 100 pares por uma diferença mínima de 0,2 pedaços. O Ono também conseguiu uma boa colocação, mas note que os outros valores indicam grandes oscilações,
enquanto que o S4Q é mais constante em seus resultados.
60
50
Ono
P4P
Vuze
Yukka
S4Q
50
40
Pedaços
40
Pedaços
60
Ono
P4P
Vuze
Yukka
S4Q
30
30
20
20
10
10
0
0
0
400
800
1200
1600
2000
0
200
400
600
800
Segundos
1000
1200
1400
1600
1800
2000
Segundos
Figura 3. Média amostral da ausências de pedaços no critério pausa com ASAP
ao longo do experimento com 50 (esquerda) e 75 pares (direita)
60
50
Ono
P4P
Vuze
Yukka
S4Q
50
40
Pedaços
40
Pedaços
60
Ono
P4P
Vuze
Yukka
S4Q
30
30
20
20
10
10
0
0
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Segundos
0
400
800
1200
1600
2000
Segundos
Figura 4. Média amostral da ausências de pedaços no critério pausa com ASAP
ao longo do experimento com 100 (esquerda) e 125 pares (direita)
Nas Figuras 5 e 6 podemos ver que o tempo que o S4Q leva para reduzir o nível
de estresse. Elas mostram que o aumento no número de pares faz com que o S4Q melhore
a QoE cada vez mais rápido e que as outras soluções oscilam muito em seus resultados.
135
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
90000
60000
Ono
P4P
Vuze
Yukka
S4Q
80000
70000
Nível de estresse
70000
Nível de estresse
90000
Ono
P4P
Vuze
Yukka
S4Q
80000
50000
40000
30000
60000
50000
40000
30000
20000
20000
10000
10000
0
0
0
400
800
1200
1600
2000
0
400
800
Segundos
1200
1600
2000
Segundos
Figura 5. Média amostral do nível de estresse no critério pausa com ASAP ao
longo do experimento com 50 (esquerda) e 75 pares (direita)
90000
90000
Ono
P4P
Vuze
Yukka
S4Q
80000
60000
70000
60000
Nível de estresse
Nível de estresse
70000
Ono
P4P
Vuze
Yukka
S4Q
80000
50000
40000
30000
50000
40000
30000
20000
20000
10000
10000
0
0
400
800
1200
1600
2000
Segundos
0
0
400
800
1200
1600
2000
Segundos
Figura 6. Média amostral do nível de estresse no critério pausa com ASAP ao
longo do experimento com 100 (esquerda) e 125 pares (direita)
Na avaliação dos dados produzidos pela A2 Q, podemos ver que, em todos os casos
(observe as Figuras 5 e 6), há uma aumento acentuado do nível de estresse nos primeiros
200 segundos (mesma faixa de tempo escolhida para entrada dos leechers no swarm). Isso
pode ser explicado observando na Figura 7, nela podemos ver que o tempo para início do
download varia de 50 à 150 segundos. Repare que até o menor valor ficou acima de
40 segundos, ou seja, após o tempo de espera definido para início das verificações de
pedaços e constituição da nova métrica. Logo, o tempo perdido para iniciar o download
já produz uma elevação do nível de estresse. A queda no nível de estresse que surge em
seguida revela o fim do download que ocorre entre 200 e 600 segundos, entre os leechers
bem sucedidos. Ao avaliar a duração das ausências podemos notar que o S4Q consegue
reduzir esse tempo em relação as demais soluções, veja na Figuras 8 a distribuição da
duração das ausências em escala logaritmica.
Analisando os dados verificamos que o S4Q ainda tem chances de apresentar um
resultado melhor. Ao avaliar a velocidade alcançada pelos peers, notamos que o experimento teve uma grande concentração de máquinas com velocidade de 1 MByte/s, com
uma pequena redução no grupo com 125 pares. As máquinas que atingem 1Mbyte/s conseguem baixar um vídeo de 127 MBytes em apenas 127 segundos, não dando “tempo de
reação” ao S4Q, uma vez que a LPE é formada a cada 80 segundos. Reduzindo a velocidade máxima das máquinas, aumentando o tamanho do vídeo, aumentando a taxa do
vídeo e/ou o tempo do experimento, podemos exigir dos pares uma maior troca de LPEs.
Logo, isso poderá fazer com que o S4Q alcance resultados melhores.
136
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
No geral as soluções apresentaram um tempo de download maior e um nível de
estresse menor quanto utilizando o ASSP, porém foi possível observar que o S4Q consegue níveis de estresse próximos utilizando o ASAP. Isso ocorre em função da indução a
chegada sequencial de pedaços.
700
600
Segundos
500
400
300
200
100
0
Ono P4P VuzeYukka S4Q
25 Pares
Ono P4P VuzeYukka S4Q
50 Pares
Ono P4P VuzeYukka S4Q
75 Pares
Ono P4P VuzeYukka S4Q
100 Pares
Ono P4P VuzeYukka S4Q
125 Pares
Figura 7. Tempo de início (barra inferior) e download (barra superior) com ASAP
1
1
Ono
P4P
Vuze
Yukka
S4Q
0.8
P[duração da ausência > t]
P[duração da ausência > t]
0.8
0.6
0.4
Ono
P4P
Vuze
Yukka
S4Q
0.2
0.6
0.4
0.2
0
0
100
1000
100
Segundos
1000
Segundos
Figura 8. Função de Distribuição Cumulativa da duração das ausências de pedaços no critério pausa com ASAP ao longo do experimento com 75 (esquerda) e
125 pares (direita)
5. Conclusão
Este trabalho apresentou uma nova métrica em QoE, ainda não validada pela percepção
de usuários reais por meio de MOS, para transmissão de vídeo, partindo da verificação de
pedaços e utilizando a Sequência Fibonacci sobre dois critérios: corte e pausa. Também
foi apresentado um novo algoritmo para seleção de vizinhos que atribui a uma lista de
pares estáveis o valor obtido com a nova métrica. Dessa forma, as melhores listas são
trocadas entre os pares, com o propósito de promover agrupamentos e acelerar a formação
de supernodes, para com isso obter um menor tempo de download e uma reprodução de
vídeo com menos interrupções, durante sua transmissão pela rede.
A partir dos resultados obtidos podemos concluir que (1) é possível tratar a seleção
de pares com algoritmos simples, eficazes e que não dependem de informações contidas
em fontes externas, uma vez que o S4Q chega a ter, pelo menos, 19% menos ausências de
pedaços de vídeo no momento da reprodução que outros algoritmos do estado da arte e
uma redução no “nível de estresse” 32% mais rápida; (2) podemos realizar agrupamentos
sem estabelecer limitações, como taxa de upload ou localização geográfica, pois nossa
137
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
solução realiza essa tarefa com a troca das LPEs; (3) não precisamos nos preocupar em
identificar os supernodes para aproveitar seus recursos, por serem bons fornecedores eles
acabam fazendo parte das LPEs; (4) é viável construir soluções que são orientadas pela
QoE, sem utilizar recursos complexos, pois conseguimos produzir avaliações dinâmicas
dos NEC/NEP e utilizá-los na seleção de pares.
Referências
Agboma, Florence; Smy, Malcolm e Liotta, Antonio (2008). QoE analysis of a peer-topeer television system. Em IADIS International Telecommunications, Networks and
Systems, Páginas 114-119.
Bertinat, M. E., Vera, D. D., Padula, D., Amoza, F. R., Rodríguez-Bocca, P., Romero,
P., and Rubino, G. (2009). GoalBit: The First Free and Open Source Peer-to-Peer
Streaming Network. IEEE LANC.
Choffnes, D. R. and Bustamante, F. E. (2008). Taming the Torrent: A Practical Approach
to Reducing Cross-ISP Traffic in Peer-to-Peer Systems. ACM SIGCOMM.
de Sousa, Peron Rezende (2013). Seleção de Pares Baseada em QoE para Transmissão
de Vídeo em Redes P2P BitTorrent. CCET - UNIRIO. Dissertação de M.Sc.
Elliott, R. N. (1938). The Wave Principle. Republicado (2012), Editora Snowball Publishing, New York, NY, USA.
Ghareeb, M.; Ksentini, A. e Viho, C. (2011). An adaptive QoE-based multipath video
streaming algorithm for Scalable Video Coding (SVC). Em IEEE Symposium on Computers and Communications (ISCC), Páginas 824-829, Kerkyra.
Krishnan, S. and Sitaraman, R. (2012). Video Stream Quality Impacts Viewer Behavior:
Inferring Causality Using Quasi-Experimental Designs. ACM IMC.
Liao, X., Jin, H., Liu, Y., Ni, L. M., and Deng, D. (2006). AnySee: Peer-to-Peer Live
Streaming. IEEE INFOCOM.
Moraes, I. M., Campista, M. E. M., Moreira, M. D. D., Rubinstein, M. G., Costa, L. H.
M. K., and Duarte, O. C. M. B. (2008). Distribuição de Video sobre Redes Par-a-Par:
Arquiteturas, Mecanismos e Desafios. Minicursos do XXVI SBRC.
Mwela, J. S. and Adebomi, O. E. (2010). Impact of Packet Loss on the Quality of Video Stream Transmission. School of Computing at Blekinge Institute of Technology.
Dissertação de M.Sc.
Polaczyk, B. and Cholda, P. (2010). BitTorrent Traffic Localization via Operator-related
Information. IEEE ICC.
Rodríguez-Bocca, P. (2008). Quality-Centric Design of Peer-to-Peer Systems for LiveVideo Broadcasting. l’Université de Rennes. Tese de D.Sc.
Rosário, D.; C., R.; S., A.; B., T. and C., E. (2013). QoE-aware Multiple Path Video
Transmission for Wireless Multimedia Sensor Networks. XXXI SBRC, 2013.
Wang, Y. (2006). Survey of Objective Video Quality Measurements. EMC Corporation
Hopkinton.
Xie, H., Yang, Y. R., Krishnamurthy, A., Liu, Y., and Silberschatz, A. (2008). P4P:
Provider Portal for Applications. ACM SIGCOMM.
138
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Predição de Fluxos em Redes de Computadores
Orlando Silva-Junior1 , Carlos Alberto Kamienski1 , Ana Carolina Lorena2
1
Centro de Matemática, Computação e Cognição
Universidade Federal do ABC (UFABC)
Santo André – SP – Brasil
2
Instituto de Ciência e Tecnologia (ICT)
Universidade Federal de São Paulo (UNIFESP)
São José dos Campos – SP - Brasil
{osilva,cak}@ufabc.edu.br, [email protected]
Abstract. A major challenge for Software Defined Networks is to minimize the
number of queries sent by switches to the controller. One solution to this
problem is to previously install the expected flows on the controller, which,
moreover, can overwhelm the memory of switches. The use of an intelligent
system for an earlier flow prediction can be a key to obtain this trade-off.
This work contributes in solutions for predicting flows in computer networks.
A peer-to-peer and an e-mail networks are mapped into different topological
models, which are used as underlying physical networks. Algorithms of Complex
Networks Analysis are used together with several machine learning techniques
to predict the flows that will persist and exist in future. Experimental results
show significant results via Machine Learning techniques.
Resumo. Um importante desafio nas Redes Definidas por Software é minimizar
a quantidade de consultas enviadas pelo switch ao controlador. Uma das
soluções para esse problema é a instalação prévia dos fluxos no controlador,
que, por outro lado, pode sobrecarregar a memória dos switches. A utilização
de um sistema inteligente que faça a predição antecipada dos fluxos pode
ser a chave para tratar esse trade-off. Este trabalho colabora com soluções
em predição de fluxos em redes de computadores. Uma rede peer-to-peer e
uma rede de e-mails são mapeadas em diversos modelos topológicos, que são
utilizados como redes fı́sicas subjacentes. Algoritmos de Análise de Redes
Complexas são utilizados em conjunto em diversas técnicas de Aprendizado de
Máquina para predizer os fluxos que se manterão e que existirão em um instante
futuro. Os resultados experimentais mostram desempenhos significativos das
técnicas de Aprendizado de Máquina.
1. Introdução
As Redes Definidas por Software (Software Defined Networks, ou SDN) [ONF 2012] têm
ganhado destaque no mercado e também na comunidade cientı́fica recente. Ao contrário
de outras abordagens em redes de computadores, as SDNs separam o plano de dados
do plano de controle, fazendo com que os elementos da rede que trabalham no plano de
dados (switches) tenham apenas a função de encaminhar os pacotes com base em uma
tabela de fluxos. Nos casos em que o switch não tem informações suficientes para tratar
139
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
com o pacote, ele envia uma solicitação ao controlador, que executa o plano de controle
de modo logicamente centralizado [Guedes et al. 2012].
Um desafio importante de pesquisa é a minimização das consultas enviadas
pelo switch ao controlador, que produzem um atraso inicial na comunicação e geram
sobrecarga no próprio controlador [Sezer et al. 2013]. Uma maneira de tratar essa questão
é o controlador realizar predição de tráfego e instalar fluxos de maneira antecipada nos
switches, permitindo uma autorização prévia da comunicação antes que da chegada do
primeiro pacote.
Os fluxos são gerados nas redes fı́sicas e provêm das aplicações da rede. Em geral,
as aplicações estruturam uma nova rede a partir do tráfego, chamada de rede lógica. Um
problema na formação da rede lógica é que ela nem sempre adquire a mesma topologia
da rede fı́sica subjacente. Em uma rede peer-to-peer (P2P), por exemplo, a conexão entre
dois usuários nem sempre é realizada no nó da rede fı́sica (switch). Embora isso possa
dificultar a predição dos fluxos nas SDNs, as conexões da rede lógica podem colaborar na
solução do problema se indicarem o padrão de formação das conexões das aplicações e,
por conseguinte, do fluxo das informações na rede fı́sica.
Este trabalho tem como objetivo colaborar nas soluções de predição de fluxos em
redes de computadores. A metodologia empregada nessa investigação utiliza duas redes
de aplicação reais, que são modeladas como redes complexas. As conexões dessas redes
geram fluxos de dados para as redes fı́sicas subjacentes, que são caracterizadas neste
trabalho por diferentes modelos topológicos comuns da Teoria de Redes Complexas.
A ideia central é combinar algoritmos de Predição de Links (PL) [Liben-Nowell and
Kleinberg 2007] com diferentes técnicas de Aprendizado de Máquina (AM) e compará-las
entre si. Este trabalho contribui principalmente para as soluções de predição de fluxos em
SDN e na modelagem de problemas de PL, na qual uma nova abordagem é proposta:
usualmente, deseja-se predizer as ligações futuras [Hasan et al. 2006] ou aquelas que irão
persistir no tempo [Silva-Junior et al. 2013]. Neste trabalho é adotada uma abordagem
conjunta, que prediz simultaneamente as conexões que se manterão e as que surgirão em
um instante futuro.
Este artigo está organizado do seguinte modo: na Seção 2 são apresentados
alguns conceitos fundamentais para a compreensão da PL, seus principais algoritmos e
as técnicas de AM utilizadas neste trabalho; a Seção 3 descreve a metodologia adotada
e a aplicação da nova abordagem proposta; na Seção 4 são apresentados e discutidos os
resultados obtidos; a Seção 5 apresenta as considerações finais do trabalho.
2. Background
A Análise de Redes Complexas é uma das áreas mais interdisciplinas nas ciências
atualmente, trabalhando junto a outras disciplinas para conceituar e investigar o
comportamento das relações sociais humanas ou analisar a estrutura fı́sica dos
relacionamentos entre diferentes tipos de entidades. Em geral, as redes complexas são
formuladas como grafos do tipo G = (V, E), em que V é o conjunto de nós e E é o
conjunto de arestas da rede. Uma das subáreas das Redes Complexas é a Predição de
Links, que investiga a probabilidade de associações futuras entre as entidades de uma
rede. Essas entidades podem representar pessoas, computadores, grupos ou organizações,
enquanto as associações representam o tipo de conexão existente entre elas.
140
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
A PL tem sido utilizada em diversas tarefas, como na predição de conexões ocultas
[Fire et al. 2011] ou na projeção de ligações futuras [Hasan et al. 2006] de uma rede. Entre
os métodos comumente utilizados para essas tarefas estão aqueles que estimam escores ou
pesos para todos os pares de nós do grafo. Nesse método, todos os escores são ranqueados
conforme algum método de amostragem e um limiar é extraı́do desse conjunto, indicando
a probabilidade mı́nima para a formação de arestas. Em muitos casos, a rede investigada
não possui nenhum parâmetro que permita confirmar a real predição futura. Por essa
razão, esses métodos são chamados de não-supervisionados [Lichtenwalter et al. 2010, Lu
et al. 2010], uma vez que não existe um “supervisor” externo confirmando a predição.
Nos casos em que a rede apresenta um parâmetro temporal, essa abordagem também pode
ser utilizada. Porém, pesquisas recentes [Lichtenwalter et al. 2010, Scellato et al. 2011]
têm indicado o uso de técnicas de AM como uma alternativa para obteção de melhores
resultados.
Atualmente, a PL permite resolver dois diferentes problemas: a predição de novos
links e a predição de links que permanecem conectados no futuro, chamada de persistência
de links. Este trabalho sugere uma abordagem conjunta, na qual a predição e a persistência
não mais sejam realizadas isoladamente, mas simultaneamente. Nessa abordagem, os
preditores inferem os links futuros e também aqueles que persistem no tempo.
A Figura 1 ilustra a abordagem proposta. O conjunto X representa a rede no
instante inicial. Esse conjunto é dito como conjunto de treinamento e é a partir dele que
as medidas de ARC são extraı́das. O conjunto Y corresponde ao conjunto de avaliação,
o qual contém os rótulos reais dos links (se formam/mantêm ou não) que podem ser
extraı́dos. O conjunto de aprendizado é o conjunto de todos os pares de nós (U ) utilizado
pelos preditores. No caso em que algoritmos de AM supervisionado são usados, há a
presença do rótulo para cada par de vértices, indicando se o link se formou no conjunto
Y ou não. Os links que se formaram ou persistiram são chamados de links positivos,
enquanto os links que não existem mais ou não se formaram são chamados de links
negativos.
Figura 1. Método de construção do conjunto de aprendizado
Uma caracterı́stica inerente da PL é o alto desbalanceamento na proporção de
links positivos e links negativos. Um conjunto de dados é considerado desbalanceado
se cada classe não está representada de modo aproximado. Em PL, a existência de
exemplos negativos, ou a ausência de links, é usualmente muito maior que de exemplos
positivos. Esse problema afeta principalmente a construção do conjunto de aprendizado e
a avalição de desempenho das técnicas que solucionam os problemas de PL. Além disso,
um conjunto de dados altamente desbalanceado tende a deteriorar o desempenho dos
141
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
algoritmos de AM [Hasan et al. 2006]. Esse problema é resolvido neste trabalho por
meio do mapeamento entre as redes de aplicação e diversos modelos topológicos comuns
de redes complexas, permitindo menor desbalanceamento. Caracterizado o conjunto de
dados, aplica-se o algoritmo de PL, que é um preditor H que observa as ligações da rede
em um instante de tempo t e prediz, com precisão p, as ligações no instante de tempo
posterior t + 1.
As métricas de avaliação de desempenho empregadas na área visam calcular a
quantidade de links que o preditor acerta em cada uma das classes, positiva e negativa, de
maneira conjunta e também de maneira separada. Para avaliar e permitir a comparação
entre os diversos preditores, este trabalho utiliza a Precisão (PR), que formula a razão
entre os links positivos preditos corretamente e todos os links preditos como positivos.
Essa métrica pode ser expressa deste modo:
P R(H) =
|links preditos corretamente ∩ links preditos como positivos|
|links preditos como positivos|
(1)
As próximas subseções apresentam as técnicas tradicionalmente utilizadas em PL
e o funcionamento dos algoritmos de AM a serem adotados neste trabalho.
2.1. Algoritmos Tradicionais de Predição de Links
Os algoritmos tradicionais de PL são preditores que atribuem um escore a cada um dos
pares de nós de um conjunto de dados. Em geral, diversos preditores são utilizados, a
fim de verificar qual deles alcança melhor desempenho. Neste trabalho foram utilizados
nove preditores frequentemente utilizados pela literatura de PL [Silva-Junior and Lorena
2013, Lü and Zhou 2011]. Nos algoritmos listados a seguir, Γ(u) define o conjunto de
vizinhos do nó u, ou Γ(x) = {y | y ∈ V, (x, y) ∈ E}:
• Grau do nó (g): é uma medida de centralidade e indica a popularidade do nó no
grafo. O grau do nó pode ser calculado como:
g(u) = |Γ(u)|
(2)
• Vizinhos Comuns (CN): é uma das medidas mais importantes em PL. O número
de vizinhos comuns informa a probabilidade de uma aresta ser formada ou ser
removida entre dois nós, e é definida como:
CN (u, v) = |Γ(u) ∩ Γ(v)|
(3)
• Conexão Preferencial (CP): fornece a probabilidade de novos nós poderem se
conectar a cada vértice. Nas redes de aplicação, indica a tendência dos usuários
em terem mais conexões no futuro. A conexão preferencial é definida como:
CP (u, v) = |Γ(u)| · |Γ(v)|
(4)
• Índice de Jaccard (JC): este ı́ndice calcula a similaridade entre conjuntos de
amostras e definine o estado da ligação entre dois nós, bem como a força dessa
ligação. O ı́ndice de Jaccard é expresso como:
JC(u, v) =
142
|Γ(u) ∩ Γ(v)|
|Γ(u) ∪ Γ(v)|
(5)
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
• Coeficiente de Adamic/Adar (AA): é uma medida semelhante à dos vizinhos
comuns. Essa medida define um escore de similaridade entre dois nós por meio
da ponderação dos vizinhos comuns mais raros e com maior peso. O coeficiente
de Adamic/Adar informa o grau de exclusividade ou estabilidade entre um vizinho
comum e o par de nós. A medida é definida como:
X
AA(u, v) =
w ∈ Γ(u)∩Γ(v)
1
log |Γ(w)|
(6)
• Índice de Alocação de Recursos (RAI): é um ı́ndice de similaridade motivado
pela alocação dinâmica de recursos em redes complexas. Dados dois nós não
conectados, seus vizinhos comuns atuam como transmissores de recursos entre
esses dois nós. Cada um dos transmissores distribui igualmente entre os vizinhos
seus recursos disponı́veis [Lü and Zhou 2011]. A medida pode ser calculada do
seguinte modo:
X
1
RAI(u, v) =
(7)
|Γ(w)|
w ∈ Γ(u)∩Γ(v)
• Medida Katz (KZ): é uma medida de centralidade de redes que aprimora o
cálculo do caminho mais curto entre dois nós. É realizada a soma direta ponderada
de todos os caminhos entre os nós. É computada pelo cálculo da equação abaixo,
hli
onde pathsx,y designa o conjunto de todos os caminhos de tamanho l entre o nó u
e o nó v. O parâmetro β colabora para o cálculo dos caminhos.
KZ(u, v) =
∞
X
β l · |pathshli
u,v |
(8)
l=1
• Índice do Hub Promovido (HPI): é um ı́ndice que quantifica as sobreposições
topológicas dos pares de nós em conjuntos de amostras. O algoritmo verifica se as
conexões adjacentes aos hubs são suscetı́veis a receberem altos escores, uma vez
que o denominador da equação é determinado pelo menor grau entre os nós.
HP I(u, v) =
|Γ(u) ∩ Γ(v)|
min {|Γ(u)|, |Γ(v)|}
(9)
• Índice do Hub Deprimido (HDI): é um ı́ndice oposto ao HPI. Ele é utilizado
neste trabalho para medir o valor das conexões de valor oposto ao HPI,
auxiliando-as em sua formação.
HDI(u, v) =
|Γ(u) ∩ Γ(v)|
max {|Γ(u)|, |Γ(v)|}
(10)
2.2. Algoritmos de Aprendizado de Máquina
AM é uma das diversas áreas existentes na Inteligência Artificial (IA) moderna. Dado um
conjunto de dados com informações passadas, as técnicas de AM buscam a solução de um
problema por meio de um processo indutivo, em que conclusões genéricas são inferidas
a partir de situações particulares. Para induzir hipóteses, o algoritmo de AM se utiliza
143
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
de um conjunto prévio de dados, em que cada elemento agrega diversos atributos que
descrevem e qualificam suas caracterı́sticas.
Em técnicas de AM supervisionado, os conjuntos de dados ainda possuem
atributos de saı́da, cujos valores são obtidos a partir dos demais atributos, chamados de
atributos de entrada [Faceli et al. 2011]. A etapa de indução é denominada treinamento
e consiste no aprendizado de uma hipótese que relacione os atributos de entrada de um
registro com seu respectivo atributo de saı́da (rótulo). Quando o algoritmo aprende uma
hipótese válida também para os dados fora do subconjunto de treinamento, diz-se que essa
hipótese possui capacidade de generalização. Neste trabalho são utilizados três algoritmos
de AM:
• Algoritmo C4.5: o algoritmo C4.5 é uma técnica de AM que infere uma hipótese
construindo um modelo de árvore de decisão. A árvore de decisão gerada pelo
algoritmo é um grafo acı́clico direcionado, em que cada nó da árvore é um nó
folha ou um nó de divisão. Os nós folha são rotulados com uma função, indicando
o resultado do problema. No caso abordado neste trabalho, deve indicar se um link
é positivo ou negativo. Por outro lado, os nós de divisão são aqueles que agregam
testes condicionais, baseados nos valores dos atributos;
• Naı̈ve Bayes: é um dos métodos probabilı́sticos mais simples em AM. O naı̈ve
Bayes assume que os atributos de entrada do conjunto de dados são independentes
entre si e computa todas as probabilidades necessárias para gerar um classificador
para os novos dados;
• Algoritmo dos k-Vizinhos Mais Próximos (k-NN): no k-NN, cada registro é
representado como um ponto em um espaço de entrada, sendo possı́vel calcular
a distância entre dois pontos. Usualmente a distância euclidiana é usada. Para
obter previsões, é feito o cálculo da distância entre o vetor de valores de atributos
de cada registro não rotulado e cada registro presente no conjunto de treinamento.
Os exemplos mais próximos fornecem a previsão final.
Neste trabalho, cada atributo de entrada corresponde ao resultado obtido em cada
algoritmo de PL. Deste modo, por exemplo, o cálculo da medida Katz para o par de nós
e = (u, v) corresponderá ao 7o atributo de entrada do C4.5 para o registro e. Ao contrário
dos algoritmos de PL, as técnicas de AM podem agregar diversos atributos, abrangendo a
quantidade de informações a realização de uma tarefa preditiva.
3. Metodologia
Esta seção descreve a metodologia experimental utilizada na avaliação deste trabalho.
3.1. Coleta e Caracterização dos Dados
Os dados utilizados nesta pesquisa podem ser classificados em duas categorias: dados da
rede lógica e dados de modelos topológicos.
Os dados da rede lógica são constituı́dos por conjuntos de dados de duas redes de
aplicação: uma rede P2P e uma rede de e-mails. A rede P2P foi construı́da a partir dos
dados disponı́veis na base de dados Can-O-Sleep [Fast et al. 2005]. As informações dessa
base de dados foram coletadas de um servidor OpenNap entre fevereiro e maio de 2003, e
possui registros de todas as transferências de arquivos entre os usuários ativos da rede P2P
144
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Gnutella. A base de dados está disponı́vel no formato XML e foi pré-processada nesta
pesquisa para permitir a construção de redes complexas. O pré-processamento efetuado
permitiu que diversos snapshots – ou seja, conjuntos de dados representando um instante
da rede – pudessem ser gerados. Para a predição a partir da rede de e-mails foi utilizado
o conhecido conjunto de dados Enron [Klimt and Yang 2004]. Assim como na rede P2P,
os dados do corpus Enron foram pré-processados para permitir a construção de redes
complexas, especialmente para problemas de PL. As redes complexas de ambas as redes
utilizadas neste trabalho estão disponı́veis em [Silva-Junior 2013]. É importante destacar
que elas foram escolhidas para este trabalho por serem redes reais, permitindo validar e
aplicar a metodologia deste trabalho em situações concretas.
Cada uma das redes representa um grafo orientado. Na rede P2P, os nós
correspondem aos usuários ativos da rede P2P Gnutella, e as arestas, do tipo e = (u, v),
representam a transferência de um arquivo do usuário u para o usuário v. Na rede de
e-mails, os nós representam os usuários de e-mails, e as arestas, também do tipo e,
correspondem ao envio de e-mails do usuário u para o usuário v.
A Tabela 1 mostra algumas caracterı́sticas quantitativas das redes P2P e de e-mails.
As estatı́sticas compreendem um perı́odo de 24 horas para a rede P2P e um intervalo de
quatro anos para a rede de e-mails. O grau médio corresponde à média dos graus de
todos os nós da rede. O coeficiente de assortatividade indica a tendência em encontrar
nós altamente conectados que estão conectados uns com os outros. E o coeficiente médio
de agrupamento mede a probabilidade dos nós adjacentes de um nó estarem também
conectados. É possı́vel notar maiores valores de grau, assortatividade e coeficiente de
agrupamento para a rede Enron, que é mais densa que a rede P2P utilizada.
Tabela 1. Caracterı́sticas das redes
Nós
Arestas
Grau Médio
Assortatividade
Coef. Médio de Agrupamento
Rede P2P
1161
3086
2,658
-0,151
0,017
Rede de E-mails
144
1311
9,104
0,096
0,384
A geração dos dados dos modelos topológicos para as redes fı́sicas constitui a
segunda parte da coleta de dados. Optou-se por gerar, empiricamente, topologias de três
diferentes modelos de redes complexas com variação no número de nós (10, 25 e 50 nós).
Os modelos utilizados e suas respectivas configurações são:
• Rede Aleatória: geração de uma rede aleatória conforme o modelo proposto em
[Erdös and Rényi 1959], com 25% de chance de um nó formar aresta (p = 0, 25),
permitindo que todos os nós de todas as gerações tenham, ao menos, uma aresta;
• Rede de Mundo Pequeno: geração de uma rede complexa conforme o modelo
proposto em [Watts and Strogatz 1998], com grau médio igual a quatro e 25% de
chances de um nó formar arestas;
• Rede sem Escala: utilização do modelo de [Barabasi and Albert 1999], com
conexão preferencial igual a dois.
145
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
3.2. Modelagem do Problema
Inicialmente, os dados de cada uma das redes de aplicação foram divididos em dois
subconjuntos não-sobrepostos, um conjunto de treinamento X e um conjunto de avaliação
Y . Para a rede P2P, os subconjuntos foram divididos igualmente, ficando com 12 horas
cada um deles. Para a rede de e-mails, o subconjunto de treinamento abrangeu os três
primeiros anos (1998-2000) e o subconjunto de avaliação ficou com o último ano (2001).
Após a criação das redes de treinamento e avaliação, os nós de treinamento foram
mapeados em quatro modelos topológicos de maneira uniforme: os três modelos citados
na Subseção 3.1 e um modelo sem topologia, no qual apenas a variação do número de
nós foi adotada. Esse procedimento estabelece uma relação entre ambas as redes: a
partir das conexões temporais existentes nas redes lógicas são formados os fluxos nos
modelos topológicos, que se assemelham às topologias fı́sicas de redes de computadores.
Além disso, esse novo modelo permitirá concluir mais acertadamente sobre a influência
da topologia na predição dos fluxos.
A Figura 2 ilustra o processo de mapeamento, em que P1 a P6 são os nós da rede
de aplicação e S1 a S4 são os nós da rede fı́sica. O seguinte mapeamento aleatório foi
feito: P1 e P3 foram conectados a S4, P4 e P5 a S1, P2 a S2 e P6 a S3. Na Figura
2(b), a comunicação entre P1 e P6, por exemplo, gerará os seguintes fluxos na rede da
Figura 2(a): P1 transmite a informação a S4, que solicita, então, ao controlador SDN que
instale um fluxo para S3. Esse nó fı́sico encontra o nó P6 conectado a ele e transmite a
informação a esse nó.
Figura 2. Ilustração do processo de mapeamento.
Por fim, foram mapeadas completamente as redes de treinamento e avaliação.
As arestas presentes na rede de avaliação mas ausentes na rede de treinamento foram
eliminadas antes do processo de predição. Além de reduzir o desbalanceamento, esse
mapeamento colabora para que as predições feitas nos modelos estejam alinhadas às
realizadas nas redes de aplicação. Esse processo gera um conjunto de dados com, no
|−1)
máximo, |V |∗(|V
registros, sendo V a quantidade de nós da rede.
2
Independentemente da topologia adotada, todos os modelos puderam gerar
conjuntos com a mesma quantidade de registros. A Tabela 2 apresenta a quantidade de
registros em cada uma das redes de aplicação. Nota-se na tabela a presença de mais links
146
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
negativos que positivos. Na rede P2P, a quantidade de positivos decai com o aumento
no número de nós. Na rede de e-mails, o maior desbalanceamento ocorre em 10 nós,
onde não há nenhum link negativo. Essa não formação de links negativos impede que a
predição seja realizada. Deste modo, os conjuntos de dados de e-mails com 10 nós foram
descartados dos experimentos.
Tabela 2. Caracterização dos conjuntos de dados
Nós
10
25
50
Registros
45
300
1225
Rede P2P
Positivos
Negativos
38 (84,4%)
7 (15,6%)
78 (26%)
222 (74%)
107 (8,73%) 1118 (91,27%)
Rede de E-mails
Positivos
Negativos
45 (100%)
0 (0%)
29 (9,67%)
271 (90,33%)
258 (23,86%) 823 (76,13%)
Para as técnicas de AM, as medidas da Seção 2.1 foram usadas como atributos
preditivos. Foram incluı́das ainda duas medidas não-topológicas para ajudar na predição.
Essas medidas são funções de agregação e representam a quantidade de conexões
existentes em cada registro de modo temporal:
• Quantidade de Itens (I): quantidade de itens (peers ou e-mails, neste trabalho)
transferidos pelo nó u no instante de tempo t. Essa medida é representada
algebricamente pela seguinte equação:
I(u) = πCOU N T (∗) (πF ROM,T O,COU N T (∗) σDAT E=t AN D F ROM =u )
(11)
• Total de Itens (I T ): corresponde ao total de itens presentes na aresta. É a soma
dos itens presentes no nó de entrada com os itens do nó de saı́da. É expressa pela
seguinte equação:
I T (u, v) = I(u) + I(v)
(12)
3.3. Avaliação dos Preditores
Muitos algoritmos de AM supervisionado podem tratar um problema de classificação
binária. Neste trabalho foram selecionados os algoritmos tradicionais mais aplicados na
área de PL [Silva-Junior and Lorena 2013]. Todos os algoritmos foram executados na
plataforma Weka [Hall et al. 2009] em suas configurações padrão. Para o algoritmo
k-NN, foi definido k = 1, com base em experimentos anteriores [Silva-Junior et al.
2013]. Todos os modelos de predição construı́dos foram testados com validação cruzada,
com dez partições. As primeiras nove partições foram utilizadas para geração do modelo
de treinamento e a última foi utilizada para a avaliação do modelo. Esse método foi
utilizando tanto para a avaliação dos modelos de PL quanto de AM, sendo repetido dez
vezes, alterando as amostras de teste.
4. Resultados e Discussão
As Figuras 3 e 4 mostram a comparação de desempenho para os diferentes preditores de
PL utilizados nos modelos topológicos nas redes P2P e de e-mail, respectivamente. A
métrica de desempenho apresentada nos gráficos é a precisão. Uma observação prévia a
notar é a diferença de escalas nos gráficos, ocorrida em razão das grandes diferenças entre
desempenhos em algumas redes.
147
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Figura 3. Precisão dos algoritmos de PL na rede P2P
Na rede P2P (Figura 3), as medidas de PL mais eficazes são aquelas baseadas no
nó e na vizinhança, como o grau do nó (P R = 0, 349 no nó de destino da rede de mundo
pequeno em 50 nós) e o coeficiente de Jaccard (P R = 1, 0 na rede sem escala de 50 nós),
respectivamente. Na rede sem topologia e na rede aleatória, o aumento da quantidade
de nós na rede subjacente deteriora o desempenho dos preditores. Nas redes de mundo
pequeno e sem escala, ao contrário, o aumento no número de nós beneficia o desempenho
da maior parte dos algoritmos. Mais da metade dos preditores alcança P R = 1, 0 quando
o número de nós é máximo na rede sem escala.
Também na rede de e-mails (Figura 4) os algoritmos de PL mais eficazes mostram
ser aqueles associados ao nó e à vizinhança do nó. Na rede sem topologia, apenas o uso
de Vizinhos Comuns (P R = 0, 136) melhora a predição com o aumento do número de
nós na rede subjacente. As redes aleatória e de mundo pequeno comportam-se de maneira
semelhante entre elas: enquanto a maior parte das medidas mantêm-se constante ou decai
no desempenho, apenas o grau do nó de destino melhora a predição com o aumento da
quantidade de nós. Na rede sem escala, apenas o grau do nó de origem (P R = 0, 125) e
a conexão preferencial (P R = 0, 119) tiveram desempenho inferior com 50 nós, tendo as
demais medidas alcançado a precisão máxima (P R = 1, 0).
148
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Figura 4. Precisão dos algoritmos de PL na rede de e-mails
Os resultados em ambas as redes de aplicação apontam para uma melhor
adequação dos preditores às redes cujo topologia subjacente está mais próxima da
topologia real da rede de aplicação, que são as redes de mundo pequeno e sem escala.
Nesses modelos, os algoritmos deterioram-se em menor escala em relação às redes sem
topologia e aleatória, que fornecem menor estabilidade preditiva.
Embora o uso desses algoritmos possa ser suficiente em alguns casos particulares,
este trabalho também investigou o uso combinado das medidas de ARC em diversas
técnicas de AM. Dada as condições de espaço, são apresentados nas Figuras 5 e 6 apenas
os resultados obtidos para os modelos de mundo pequeno e sem escala na rede P2P e na
rede de e-mails, respectivamente.
De maneira geral, o desempenho dos algoritmos de AM decai com o aumento do
número de nós na rede subjacente. Por outro lado, a precisão permanece maior em todas as
situações, se comparada aos algoritmos de PL. Na rede P2P (Figura 5), o algoritmo C4.5
é o que deteriora mais rapidamente o desempenho (P R = 0, 0, para ambos os modelos
topológicos com 50 nós). O Naı̈ve Bayes é o algoritmo de AM que apresenta melhores
resultados no conjunto P2P, alcançando, com 10 nós, P R = 0, 818 na rede de mundo
149
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Figura 5. Precisão dos algoritmos de AM na rede P2P
pequeno e P R = 0, 893 na rede sem escala. A precisão do algoritmo C4.5 é deteriorada
na rede de mundo pequeno (de P R = 00, 643 com 25 nós para P R = 00, 475 com 50
nós), mas é aprimorada na rede sem escala (de 0,4 para 0,5). Essa observação somada à
análise dos resultados da rede sem topologia indicam que a estrutura topológica na qual a
rede de aplicação está construı́da influencia a predição de conexões da rede subjacente.
Figura 6. Precisão dos algoritmos de AM na rede de e-mails
Para a rede de e-mails (Figura 6), o algoritmo Naı̈ve Bayes é o que melhor se
adapta aos dois modelos topológicos. Em ambos os casos, a precisão do algoritmo é
melhorada quando o número de nós na rede subjacente aumenta. Na rede de mundo
pequeno, o Naı̈ve Bayes alcança P R = 0, 328 com nós 50 nós, melhorando em 67,3% a
precisão preditiva da rede de 10 nós (P R = 0, 196).
5. Conclusão
O trade-off entre o número de requisições enviadas ao controlador e a quantidade de
memória ocupada pelos fluxos nos switches é um desafio em Redes Definidas por
150
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Software. Com essa motivação, este trabalho colabora para as soluções de predição de
fluxos em redes de computadores. Duas redes de aplicação são mapeadas em uma nova
abordagem de Predição de Links em diversos modelos da Teoria de Redes Complexas,
representando o tráfego de informação de uma rede de computadores. Por meio dessa
aborgem são preditos os links que se formam e os links que persistem ao longo na rede.
Diversos algoritmos de Predição de Links e Aprendizado de Máquina supervisionado são
experimentados e comparados para avaliar o problema da predição de fluxos.
Os resultados obtidos mostram bom desempenho entre os algoritmos tradicionais
de Predição de Links, especialmente aqueles baseados no grau e na vizinhança do nó.
Por outro lado, as predições de fluxos alcançam melhores resultados com as técnicas
de Aprendizado de Máquina supervisionado, que aprimorou os resultados individuais de
cada algoritmo e superou o alto desbalanceamento natural do domı́nio. Entre as diversas
técnicas experimentadas, o Naı̈ve Bayes foi o que apresentou melhores resultados, de
maneira geral.
Por fim, este trabalho corrobora a influência preditiva entre a rede de fı́sica e as
redes de aplicação. Os quatro modelos de redes complexas adotados mostraram que
nem sempre um determinado preditor apresenta os mesmos resultados em diferentes
variações topológicas. Tanto os resultados dos algoritmos tradicionais quanto das técnicas
de Aprendizado de Máquina confirmaram essa influência.
6. Agradecimentos
Este trabalho foi apoiado financeiramente pelo Conselho Nacional de Desenvolvimento
Cientı́fico e Tecnológico (CNPq) e pela Fundação de Amparo à Pesquisa do Estado de
São Paulo (FAPESP).
Referências
Barabasi, A. L. and Albert, R. (1999). Emergence of scaling in random networks. Science
(New York, N.Y.), 286(5439):509–512.
Erdös, P. and Rényi, A. (1959). On random graphs, I. Publicationes Mathematicae
(Debrecen), 6:290–297.
Faceli, K., Lorena, A. C., Gama, J., and de Carvalho, A. C. (2011). Inteligência Artificial:
Uma Abordagem de Aprendizado de Máquina. LTC, Rio de Janeiro.
Fast, A., Jensen, D., and Levine, B. N. (2005). Creating social networks to improve
peer-to-peer networking. In Proceedings of the eleventh ACM SIGKDD international
conference on Knowledge discovery in data mining, KDD ’05, pages 568–573, New
York, NY, USA. ACM.
Fire, M., Tenenboim, L., Lesser, O., Puzis, R., Rokach, L., and Elovici, Y. (2011). Link
prediction in social networks using computationally efficient topological features. In
Privacy, security, risk and trust (passat), 2011 ieee third international conference on
and 2011 ieee third international conference on social computing (socialcom), pages
73 –80.
Guedes, D., Vieira, L., Vieira, M., Rodrigues, H., and Nunes, R. V. (2012). Redes
definidas por software: uma abordagem sistêmica para o desenvolvimento de pesquisas
151
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
em redes de computadores. Minicursos do Simpósio Brasileiro de Redes de
Computadores-SBRC 2012, 30(4):160–210.
Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., and Witten, I. H. (2009).
The weka data mining software: an update. SIGKDD Explor. Newsl., 11(1):10–18.
Hasan, M. A., Chaoji, V., Salem, S., and Zaki, M. (2006).
Link prediction
using supervised learning. In In Proc. of SDM 06 workshop on Link Analysis,
Counterterrorism and Security.
Klimt, B. and Yang, Y. (2004). Introducing the Enron corpus. In First Conference on
Email and Anti-Spam (CEAS).
Lü, L. and Zhou, T. (2011). Link prediction in complex networks: A survey. Physica A:
Statistical Mechanics and its Applications, 390(6):1150 – 1170.
Liben-Nowell, D. and Kleinberg, J. (2007). The link-prediction problem for social
networks. Journal of the American Society for Information Science and Technology,
58(7):1019–1031.
Lichtenwalter, R. N., Lussier, J. T., and Chawla, N. V. (2010). New perspectives and
methods in link prediction. In Proceedings of the 16th ACM SIGKDD international
conference on Knowledge discovery and data mining, KDD ’10, pages 243–252, New
York, NY, USA. ACM.
Lu, Z., Savas, B., Tang, W., and Dhillon, I. S. (2010). Supervised link prediction using
multiple sources. In Proceedings of the 2010 IEEE International Conference on Data
Mining, ICDM ’10, pages 923–928, Washington, DC, USA. IEEE Computer Society.
ONF (2012). Software-defined networking: The new norm for networks. ONF White
Paper. Palo Alto, US: Open Networking Foundation.
Scellato, S., Noulas, A., and Mascolo, C. (2011). Exploiting place features in link
prediction on location-based social networks. In Proceedings of the 17th ACM
SIGKDD international conference on Knowledge discovery and data mining, KDD
’11, pages 1046–1054. ACM.
Sezer, S., Scott-Hayward, S., Chouhan, P. K., Fraser, B., Lake, D., Finnegan, J., Viljoen,
N., Miller, M., and Rao, N. (2013). Are we ready for sdn? implementation challenges
for software-defined networks. Communications Magazine, IEEE, 51(7).
Silva-Junior,
O.
(2013).
orlandodasilvajr/data-sets.
http://sites.google.com/site/
Silva-Junior, O. and Lorena, A. C. (2013). Aprendizado de máquina supervisionado na
predição de links em redes complexas - uma revisão sistemática. Technical Report
01/2013, Universidade Federal do ABC, Santo André, Brasil.
Silva-Junior, O., Lorena, A. C., and Kamienski, C. A. (2013). Predição de links em redes
p2p. In Anais do I Simpósio da Pós-graduação da Universidade Federal do ABC,
Santo André, Brasil.
Watts, D. and Strogatz, S. (1998). Collective dynamics of ’small-world’ networks. Nature,
pages 440–442.
152
Anais do IX Workshop de Redes P2P, Dinâmicas, Sociais e Orientadas a Conteúdo - Wp2p+
Índice por Autor
A
Almeida, J.M. .......................................3
Alves Junior, O.C. ..............................67
Assad, R.E. .........................................97
B
Barreto, H.F.S.S.M. ...........................23
C
Campista, M.E.M. ..............................23
Costa, E.C. ...........................................3
Costa, L.C. ...........................................3
Costa, L.H.M.K. .................................23
Cunha, F.D. ........................................39
D
De Bona, L.C.E. ...............................103
Diniz, M.C. ......................................125
Drago, I. ...............................................3
Duarte Jr., E.P. .................................103
Durão, F. ............................................97
F
Fiorese, A. ..........................................67
G
Garcia, V.C. .......................................97
K
Kamienski, C.A. ...............................139
Kniess, J. ............................................53
Koppe, J.P. .......................................103
L
Lemos, F.S.B. ....................................53
Lorena, A.C. .....................................139
Loureiro, A.A.F. ................................39
Lucena, S.C. .....................................125
M
Menasche, D.S. ................................125
Mini, R. ..............................................39
O
Oliveira, M.L. ....................................83
P
Paula, L.B. .........................................17
R
Ribeiro, F.N.B. .................................119
Rocha, A.A.A. ..................................125
Rodrigues, T. ......................................39
Rothenberg, C.E. ................................83
S
Santos, P.B. ........................................17
Silva Junior, O. ................................139
Silva, A.F. ..........................................97
Silva, A.P.C. ........................................3
Soares, L.F.G. ..................................119
Sousa, P.R. .......................................125
V
Viana, A. ............................................39
Vieira, A.B. ..........................................3
Vieira, G.V. ........................................67
Vieira, R.G. ........................................53
Villaça, R.S. .......................................17
Z
Ziviani, A. ...........................................3
153

Documentos relacionados