Anais 4º Workshop de Sistemas Distribuídos Autonômicos WoSiDA 2014

Tamanho: px
Começar a partir da página:

Download "Anais 4º Workshop de Sistemas Distribuídos Autonômicos WoSiDA 2014"

Transcrição

1 Anais 4º Workshop de Sistemas Distribuídos Autonômicos WoSiDA 2014

2 XXXII Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos 5 a 9 de Maio de 2014 Florianópolis - SC Anais 4º Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 2014 Editora Sociedade Brasileira de Computação (SBC) Organizadores Sérgio Gorender (UFBA) Tales Heimfarth (UFLA) 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)

3 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, Setor 4 - Prédio Sala 219 Bairro Agronomia - CEP Porto Alegre- RS Fone: (51) Workshop de Sistemas Distribuídos Autonômicos (4: 2014: Florianópolis, SC) Anais / 4º Workshop de Sistemas Distribuídos Autonômicos; organizado por Sérgio Gorender... [et al.] - Porto Alegre: SBC, c p. WoSiDA 2014 Realização: Universidade Federal de Santa Catarina ISSN: X 1. Redes de Computadores - Congressos. 2. Sistemas Distribuídos Congressos. I. Gorender, Sérgio. II. Sociedade Brasileira de Computação. III. Título. i

4 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

5 Promoção Sociedade Brasileira de Computação (SBC) Conselho Mandato 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 Ariadne Carvalho (UNICAMP) Carlos Eduardo Ferreira (IME - USP) Jose Carlos Maldonado (ICMC - USP) Luiz Fernando Gomes Soares (PUC-Rio) Marcelo Walter (UFRGS) Suplentes 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

6 Promoção Laboratório Nacional de Redes de Computadores (LARC) Diretoria 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

7 Realização Comitê de Organização Coordenação Geral Joni da Silva Fraga (UFSC) Frank Augusto Siqueira (UFSC) Coordenação do WoSiDA Sérgio Gorender (UFBA) Tales Heimfarth (UFLA) Coordenação de Workshops Carlos André Guimarães Ferraz (UFPE) v

8 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

9 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

10 Mensagem dos Coordenadores do WoSiDA The Workshop on Autonomic Distributed Systems (WoSiDA), Co-located with the Brazilian Symposium on Computer Networks and Distributed Systems, was aimed at bringing together researchers and practitioners from the distributed systems community to discuss the fundamental principles, state of the art, and critical challenges of selfmanaging or autonomic distributed systems. The WoSiDA 2014 program included ten position papers selected after a careful reviewing process, where each paper was distributed to members of the technical program committee. The program chairs could not see the reviewers of their papers, as the system does not permit it. The accepted papers are those with solid work covering distinct aspects of autonomic distributed systems. The workshop is divided in four different sessions: Autonomic Networks, Models and Algorithms, Models and Network Security. This year a large spectrum of different areas of autonomic distributed systems are covered by the sessions. The sessions include, among others, articles proposing novel mechanisms for Cloud Computing, Routing Protocols for Autonomic Networks and Models for Controlling and Monitoring Autonomic Systems. At the end the organizers include an open session to discuss issues related to design, implementation and evaluation of autonomic distributed systems. Finally, we would like to thank very much the program committee members for having accepted the challenge of building this program, and the organizers of SBRC 2014 for their support. Sérgio Gorender Tales Heimfarth Chairs of the Wosida 2014 viii

11 Comitê de Programa do WoSiDA 2014 Alirio Santos de Sá, Federal University of Bahia (UFBA / Brazil) Antonio Casimiro Costa, University of Lisbon (UL / Portugal) Edison Pignaton de Freitas, University of Brasília (UNB / Brazil) Edmundo Madeira, University of Campinas (UNICAMP / Brazil) Fabio Moreira Costa, Federal University of Goiás (UFG / Brazil) Flávio Assis Silva, Federal University of Bahia (UFBA / Brazil) Franz Rammig, University of Paderborn (UPB / Germany) Lisandro Granville, Federal University of Rio Grande do Sul (UFRGS / Brazil) Luís E. T. Rodrigues, Technical University of Lisbon (UTL / Portugal) Marcos Barreto, Federal University of Bahia (UFBA/Brazil) Neuman Souza, Federal University of Ceará (UFC / Brazil) Raimundo J. A. Macêdo, Federal University of Bahia (UFBA/ Brazil) Renato Cerqueira, IBM Research Brazil and Pontificial Catholic University of Rio de Janeiro (PUC-Rio / Brazil) Rui Oliveira, University of Minho (UMINHO / Portugal) Sand Luz Corrêa, Federal University of Goiás (UFG / Brazil) Sérgio Gorender, Federal University of Bahia (UFBA / Brazil) Tales Heimfarth, Federal University of Lavras (UFLA / Brazil) ix

12 Sumário Sessão Técnica 1 Modelos e Algoritmos... 1 Uma Proposta de Arquitetura Autonômica para Elasticidade em Computação em Nuvem Emanuel F. Coutinho (UFC), Danielo G. Gomes e José Neuman de Souza... 3 Protocolos Auto-Gerenciáveis de Consenso para Sistemas Distribuídos Parcialmente Síncronos Alirio Santos de Sá (UFBA), Raimundo J. A. Macêdo, e Heverton S. Queiroz... 7 Um Mecanismo de Auto-gestão para Sistemas de Armazenamento de Dados Replicados nas Nuvens Fabiola L. Moreira (UFBA) e Alírio S. Sá Sessão Técnica 2 Redes Autonômicas Um Protocolo de Roteamento Adaptativo a Carga de Bateria e a presença de falhas em Redes Móveis Ad hoc Bruno J. Santos (UFBA) e Sérgio Gorender Um Protocolo de Roteamento Dinâmico para Redes Veiculares Margarete Sá (UFBA) e Sérgio Gorender Utilização de Múltiplos Veículos Aéreos Não Tripulados para o Estabelecimento de Comunicação em Redes de Sensores Sem Fio Particionadas Tales Heimfarth (UFLA), João P. Araujo, Alexandre H. T. Dias e Julio Cezar S. Diniz x

13 Sumário Sessão Técnica 3 Modelos A Systematic Model-Based Approach for Feedback Control Trade-Off Evaluation in Autonomic Systems Sandro S. Andrade (UFBA), Raimundo J. A. Macêdo Revisitando uma Infraestrutura Autonômica: Uma Perspectiva Baseada em uma Rede Definida por Software Marcelo Santos (UFPE), Patricia Endo, Moisés Bezerra, Glauco Gonçalves, Djamel Sadok e Stênio Fernandes Abordagem Baseada em Correlacão Parcial para Filtragem de Métricas Monitoradas em Sistemas Auto-Gerenciáveis Otto J. A. Pinno (UFG), Sand L. Corrêa, Vagner J. S. Rodrigues e Kleber V. Cardoso Sessão Técnica 4 Segurança em Redes Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em Redes de Computadores Luiz Arthur F. dos Santos (UTFPR), Rodrigo Campiolo e Daniel M. Batista Índice por Autor xi

14 32º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos Florianópolis - SC 4º Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 2014 Sessão Técnica 1 Modelos e Algoritmos

15

16 Uma Proposta de Arquitetura Autonômica para Elasticidade em Computação em Nuvem Emanuel F. Coutinho 1,3, Danielo G. Gomes 2, José Neuman de Souza 1 1 Mestrado e Doutorado em Ciência da Computação (MDCC) 2 Departamento de Engenharia em Teleinformática (DETI) 3 Instituto UFC Virtual Universidade Federal do Ceará Fortaleza CE Brasil Abstract. Elasticity is an important characteristic of Cloud Computing, and can be understood as how a computational cloud computing fits to variations in their workload by provisioning and deprovisioning resources. Autonomic Computing brings together many concepts that can be quite useful in the construction of elastic Cloud Computing solutions, such as loops and control rules. This paper aims to propose an elastic architecture based on concepts of Autonomic Computing. An experiment was designed to validate the architecture, using benchmarks and workloads, demonstrating that Cloud Computing and Autonomic Computing may well work together. Resumo. A elasticidade é uma importante característica da Computação em Nuvem, e pode ser entendida como o quanto uma nuvem computacional se adapta a variações na sua carga de trabalho através do provisionamento e desprovisionamento de recursos. Computação Autonômica reúne diversos conceitos que podem ser bastante úteis na construção de soluções elásticas em nuvens computacionais, como loops de controle e regras. Este trabalho tem como objetivo propor uma arquitetura elástica baseada em conceitos de Computação Autonômica. Um experimento foi projetado para a validação da arquitetura, utilizando benchmarks e cargas de trabalho, demonstrando que Computação em Nuvem e Computação Autonômica podem muito bem funcionar em conjunto. 1. Introdução Com o aumento no acesso aos ambientes computacionais em nuvem e sua facilidade de utilização, baseada no modelo de pagamento por uso, é natural que a quantidade de usuários e suas respectivas cargas de trabalho também cresçam. Como consequência, os provedores devem ampliar seus recursos e manter o nível de qualidade acordado com os clientes, sob pena de quebras do Service Level Agreement (SLA) e decorrentes multas. O monitoramento de recursos computacionais, como CPU e memória, se torna essencial tanto para os provedores quanto para clientes. Uma maneira de monitorar aplicações em nuvem de modo mais efetivo é por meio da utilização de mecanismos de Computação Autonômica. Um sistema autônomo ou autonômico é composto por um conjunto de elementos autônomos. Um elemento autônomo é um componente responsável 3

17 pela gestão do seu próprio comportamento em conformidade com políticas e por interagir com outros elementos autônomos que fornecem ou consomem serviços computacionais [Kephart and Chess 2003]. Mecanismos de Computação Autonômica, como loops de controle e regras, podem ser empregados no monitoramento de uma nuvem computacional. Assim recursos podem ser adicionados e removidos do ambiente conforme limiares de uso pré-estabelecidos. Esse tipo de estratégia de monitoramento está diretamente associado a uma das principais características da Computação em Nuvem: a elasticidade. Elasticidade pode ser definida como o grau no qual um sistema computacional é capaz de se adaptar à variações na carga de trabalho pelo provisionamento e desprovisionamento de recursos de maneira autonômica, onde a cada instante os recursos disponíveis atendam da melhor maneira possível às demandas [Herbst et al. 2013]. Sendo assim, a elasticidade vem se tornando uma necessidade cada vez maior devido à natureza dinâmica das diversas aplicações e diversas cargas de trabalho impostas por elas. Um estudo sobre elasticidade em nuvem foi realizado em [Coutinho et al. 2013], com destaque para diversos aspectos como: definições, métricas, benchmarks, estratégicas elásticas, desafios e tendências na construção de soluções elásticas. Diversas arquiteturas para soluções de provisionamento e manutenção de SLA utilizando recursos de Computação Autonômica foram propostas na literatura [Rego et al. 2011, Tordsson et al. 2012]. Porém, devido a grande diversidade de tecnologias e a pouca disponibilidade de informação acerca de instalação e configuração, do ponto de vista experimental em geral não é fácil utilizá-las. Este trabalho tem como objetivo propor uma arquitetura que utiliza Computação em Nuvem em conjunto com princípios de Computação Autonômica para o provimento de um ambiente elástico. 2. Arquitetura A arquitetura proposta possui os seguintes componentes: (1) Loop de Controle Global: responsável por organizar todas as atividades no ambiente relacionadas à elasticidade. É o gerente do ambiente. Dispara eventos de coleta, predição, análise e ações; (2) Coletor: mecanismo para coletar dados do ambiente. Recupera dados de diversos recursos e armazena no banco de dados; (3) Banco de Dados: repositório de informações do ambiente. Armazena dados, métricas e configurações do ambiente; (4) Atuador: resposável por executar ações no ambiente de adição e remoção de máquinas virtuais no balanceador de carga; (5) Loop de Controle Local: mecanismo que gerencia as operações locais de coleta de dados e consolidação; (6) Balanceador de Carga: provê a distribuição das requisições entre as máquinas virtuais do ambiente; (7) Cargas de Trabalho: carga de trabalho gerada por usuários e suas aplicações, por traços computacionais ou por benchmarks sintéticos; (8) Regras: condições que definem limites a serem monitorados de recursos do ambiente. Limiares de qualidade possuem um limite superior, inferior e intermediário, onde dependendo do valor coletado ações serão executadas; (9) Predição: mecanismo baseado em alguma técnica, como média móvel e regressão multilinear, que procura prever eventos de adição ou remoção de recursos do ambiente, com a intenção de evitar quebras no SLA e ociosidade. Seus relacionamentos estão representados na Figura Experimentos Para a validação da arquitetura, um experimento foi projetado com a seguinte configuração: nuvem privada (OpenNebula), máquinas virtuais com 1 VCPU, 1 GB de 4

18 Figura 1. Arquitetura autonômica para elasticidade em Computação em Nuvem memória RAM e sistema operacional Ubuntu Para a adaptação dos recursos à carga de trabalho foi utilizada uma estratégia baseada em balanceadores de carga (elasticidade horizontal), por meio da ferramenta NGINX. Foram utilizadas aplicações web por meio do servidor Apache Tomcat. A carga de trabalho foi projetada para executar operações de multiplicação de matrizes através de um microbenchmark desenvolvido na linguagem de programação Java, e uma aplicação científica, o BLAST. Ambas são orientadas a CPU e memória, e foram projetadas para serem executadas como pequenas aplicações web, disparadas por meio do HTTPERF, conforme taxa pré-determinada. Um mecanismo de Computação Autonômica baseado na arquitetura definida em [Kephart and Chess 2003] foi construído. O objetivo dos experimentos é avaliar o comportamento do ambiente diante de cargas de trabalho, e como se comportam de maneira autonômica para adaptação a variações de demanda (elasticidade) e manutenção do SLA. Foi utilizada uma estratégia de elasticidade horizontal, através da qual à medida em que recursos são necessários, novas instâncias de máquinas virtuais são adicionadas, por meio de um balanceador de carga, e retiradas caso não sejam mais necessárias. O intervalo de coleta de dados foi definido a cada 1 segundo. A métrica utilizada para disparar ações de elasticidade foi a média do percentual de utilização de CPU das máquinas virtuais. Os limiares utilizados para a execução de ações foram: acima de 70% (aloca uma nova máquina virtual), abaixo de 60% (desaloca uma máquina virtual), e entre 60% e 70% (mantém alocação). Esse valor foi calculado como a média das 10 últimas coletas de utilização de CPU nas máquinas virtuais. Como mecanismo de predição foi utilizado regressão multilinear sobre valores de utilização de CPU, memória, disco e rede, coletados em experimentos prévios, com cargas de trabalho semelhantes. A Figura 2 descreve o comportamento médio do consumo de CPU para todas as quatro máquinas virtuais envolvidas no experimento, e suas alocações. Como era de se esperar pela característica da carga de trabalho, muitas variações na utilização de CPU ocorreram, aumentando à medida em que novas requisições eram disparadas. Ao superar 5

19 Figura 2. Gráficos de consumo médio de CPU e alocação de máquinas virtuais o limite estabelecido, novas instâncias foram alocadas, coincidindo com a alocação de novas instâncias ao balanceador de carga. Quando a carga de utilização da CPU era inferior ao limite estabelecido, havia uma desalocação de máquinas virtuais. Observou-se pelos gráficos da Figura 2 que em vários intervalos de tempo o SLA foi violado. Isso indica que a quantidade de recursos do ambiente chegou ao máximo. Se houvessem mais recursos, o consumo de CPU seria melhor distribuído, com valores menores na utilização de CPU, mais próximos aos limites definidos. Consequentemente haveria no gráfico de alocação mais degraus, correspondendo à alocação e desalocação de máquinas virtuais. 4. Conclusão A utilização de mecanismos da Computação Autonômica em ambientes de Computação em Nuvem para suportar o provimento da elasticidade têm se mostrado muito eficiente. Neste trabalho, uma arquitetura autonômica foi proposta para o provimento da elasticidade em ambientes de Computação em Nuvem, validado por meio de um experimento. Outros recursos do ambiente podem ser utilizados como critério para que ações autonômicas atuem sobre o ambiente, como memória e throughput. O mecanismo de predição também deve ser evoluído com diferentes estratégias, como aprendizagem de máquina. Por fim, outras estratégias de elasticidade devem ser exploradas, como soluções de elasticidade vertical (aumentando a capacidade dos recursos) e híbridas. Referências Coutinho, E., Sousa, F. R. C., Gomes, D. G., and Souza, J. D. (2013). Elasticidade em computação na nuvem: Uma abordagem sistemática. In XXXI Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC 2013) - Minicursos. Herbst, N. R., Kounev, S., and Reussner, R. (2013). Elasticity in cloud computing: What it is, and what it is not. In Proceedings of the 10th International Conference on Autonomic Computing(ICAC 2013), San Jose, CA, pages USENIX. Kephart, J. O. and Chess, D. M. (2003). The vision of autonomic computing. Computer, 36(1): Rego, P., Coutinho, E., Gomes, D., and De Souza, J. (2011). Faircpu: Architecture for allocation of virtual machines using processing features. In Utility and Cloud Computing (UCC), 2011 Fourth IEEE International Conference on, pages Tordsson, J., Montero, R. S., Moreno-Vozmediano, R., and Llorente, I. M. (2012). Cloud brokering mechanisms for optimized placement of virtual machines across multiple providers. Future Generation Computer Systems, 28(2):

20 Protocolos Auto-Gerenciáveis de Consenso para Sistemas Distribuídos Parcialmente Síncronos Alirio Santos de Sá 1, Raimundo José de Araújo Macêdo 1, Heverton Santos Queiroz 2 1 Laboratório de Sistemas Distribuídos LaSiD, Departamento de Ciência da Computação Universidade Federal da Bahia (UFBA), Salvador, Bahia, Brasil 2 Instituto Federal de Educação, Ciência e Tecnologia Baiano, Salvador, Bahia, Brasil {aliriosa Abstract. Consensus protocols are used to provide global consistency in dependable distributed systems. The proposed approaches for these protocols do not support automatic (re)configuration from application-defined QoS requirements dynamically specified. However, when the computing environment behaviour is dynamical or when the application-defined QoS requirements change, the self-configuration becomes a basic ability for such protocols mainly for applications with response time and high availability requirements. This paper introduces a novel self-manageable consensus protocol which, at runtime, self-configures its operational parameters using application-defined QoS requirements and observing the changes in computing environment. 1. Introdução Protocolos de consenso oferecem um serviço importante para a implementação de uma variedade de sistemas distribuídos confiáveis. Nesses protocolos, cada processo propõe um valor, e todos os processos (não defeituosos) devem concordar sobre o valor que deve ser adotado dentre os valores propostos. Em sistemas distribuídos assíncronos, não existe uma solução determinística para esse problema quando pelo menos um processo do sistema pode falhar [Fischer et al. 1985]. Isso motivou o desenvolvimento de abordagens considerando modelos de sistemas distribuídos com hipóteses temporais mais restritivas (i.e., com sincronia adequada à obtenção de soluções para o problema do consenso). Muitas dessas abordagens têm considerado a implementação de protocolos de consenso para sistemas distribuídos assíncronos dotados de detectores de defeitos não confiáveis [Chandra and Toueg 1996]. A base dessas abordagens é considerar a execução em rodadas, em que: cada rodada possui um coordenador, o qual propõe um valor para os demais participantes; em seguida, o protocolo tenta obter uma maioria de votos que permitam decidir pelo valor proposto; caso a decisão não seja alcançada, uma nova rodada é iniciada (com um novo coordenador). Esses protocolos formam uma família, mas que se diferenciam quanto aos modelos de decisão, que variam desde modelos de decisão centralizados a modelos completamente decentralizados; e que implicam em diferentes relações de compromisso entre custo computacional (de processamento e de troca de mensagens) e latência na tomada de decisão. Assim, o projeto de sistemas distribuídos confiáveis deve ser baseado em protocolos que se adequem as características do ambiente computacional ao mesmo tempo em que atendam os requisitos determinados pelas aplicações. Todavia, quando o comportamento do ambiente computacional é dinâmico, ou quando os requisitos da aplicação podem mudar, é extremamente difícil atender a essa 7

21 relação de compromisso observando apenas decisões tomadas em tempo de projeto principalmente para aplicações modernas com requisitos de tempo de resposta e de alta disponibilidade. Com isso, dotar os protocolos de consenso da habilidade de auto-configurar suas características (a partir da definições automática de seus parâmetros operacionais) se torna um requisito básico e que não tem sido discutido de forma apropriada na literatura. Nesse contexto, este artigo introduz um protocolo auto-gerenciável de consenso, o qual é capaz de, em tempo de execução, auto-configurar os seus parâmetros operacionais usando requisitos dinamicamente definidos pelas aplicações e observando mudanças dinâmicas no comportamento do ambiente computacional. Para isso, discute-se como um protocolo de consenso existente na literatura pode ser especializado para oferecer a habilidade de auto-configuração. O restante deste artigo está organizado da seguinte forma. A Seção 2 discute trabalhos relacionados. A Seção 3 apresenta a implementação da proposta. Por fim, a Seção 4 faz algumas considerações finais e apresenta propostas de trabalhos futuros. 2. Trabalhos Relacionados Nos protocolos de consenso baseados em detectores de defeitos não confiáveis e que usam um modelo de decisão decentralizado (e.g., [Hurfin and Raynal 1999]), as propostas de cada processo são difundidas para todos os participantes da rodada. Isso implica em um maior custo em termos de troca de mensagens, mas permite que a decisão possa ser tomada mais rapidamente (sem interação com o coordenador). Por outro lado, em modelos de decisão centralizados (e.g., [Chandra and Toueg 1996]), as decisões são centradas no coordenador da rodada. Assim, as propostas são enviadas ao coordenador e este é responsável por informar a decisão para os demais participantes. Isso reduz o custo com troca de mensagens, mas pode implicar em uma maior latência para a decisão, uma vez que demanda um maior número de passos de comunicação que o modelo decentralizado. Alguns trabalhos apresentam protocolos de consenso adaptáveis, os quais são capazes de emular diferentes padrões de disseminação de decisão (ver, por exemplo [Hurfin et al. 2001] e [Pereira and Oliveira 2004]). Nesses casos, entretanto, o chaveamento entre esses diferentes padrões (i.e., desde centralizado à totalmente decentralizado) é realizado a partir de parâmetros definidos em tempo de projeto. Em [Matos et al. 2008] é apresentada uma breve discussão sobre como a auto-configuração beneficia protocolos de consenso. Contudo, até onde sabemos, o presente artigo apresenta a primeira abordagem de consenso capaz de adaptar dinamicamente seus parâmetros operacionais para definir modelos de decisão que se adaptem a mudanças dinâmicas nas características do ambiente computacional e atendam a requisitos dinamicamente definidos pela aplicação. 3. A Proposto de Protocolo Auto-Gerenciável de Consenso A abordagem proposta neste artigo encapsula o protocolo de consenso, denominado HMMR (ver [Hurfin et al. 2001]), de modo a habilitá-lo com a facilidade de auto-gestão. O protocolo HMMR foi escolhido por oferecer um modelo de decisão adaptável, o que permite configurar o padrão de troca de mensagens do modelo de decisão a abordagem de auto-configuração proposta manipula essa característica. Por isso, o modelo de decisão do HMMR é descrito com mais detalhes a seguir. O Modelo de Decisão Adaptável do Protocolo HMMR. No protocolo HMMR, a cada rodada r, os processos podem ser divididos em dois grupos: (i) processos que coletam as 8

22 propostas e decidem de forma direta, representados pelo conjunto X (com cardinalidade x); e (ii) processos que precisam esperar que a decisão seja informada por um dos processos de X. Cada processo p i mantém localmente sua visão do conjunto X (dita X i ). Para garantir safety, X i deve conter os coordenadores da rodada atual (r) e da próxima rodada (r + 1). Assim, a cardinalidade x i de X i pode variar entre 2 e n, em que n representa o número de processos do sistema. Quando x i = 2, os processos enviam as suas propostas apenas para os coordenadores das rodadas r e r +1. Quando x i = n, os processos enviam as suas propostas para todos os demais. Assim, é possível adaptar o protocolo HMMR para usar diferentes modelos de decisão, desde um modelo centralizado (com complexidade de trocada de mensagens O(n)) até um modelo completamente decentralizado (com complexidade de troca de mensagens O(n 2 )). Abordagem de Auto-Gestão. A abordagem de auto-gestão deste artigo adapta a cardinalidade x i do conjunto X i (adicionando ou removendo identificadores de processos deste conjunto) para acomodar a carga de mensagens imposta pelo protocolo de consenso HMMR. Para isso, considera dois aspectos básicos: (i) a capacidade do ambiente computacional verificado pelo uso médio de banda de rede (u); e (ii) o requisito especificado pelo usuário definido pela restrição de uso de banda desejada para o protocolo. Assim, a cada envio ou recebimento de mensagens em p i, a abordagem acumula o total de bits (b i ) enviados e recebidos. Então, a cada δ unidades de tempo, a abordagem usa o total de bits b i para estimar a utilização média atual da rede (u c i) vista por p i. O cálculo de u c i é feito a partir da média móvel Exponencial [Aguirre 2004], isto é: u c i = min (1, α u e i + (1 α) u c i), em que min(x, y) retorna o menor entre os valores de x e y, enquanto u e i = b i /(δ bwm) é a utilização de rede estimada, considerando o total de bits b i, o período de observação δ e a vazão nominal da rede bwm em bits/segundo. Antes do cálculo de u c i, seu valor é salvo em u o i e, após o cálculo de u c i, o valor de b i é zerado. Calculado o novo valor de u c i, a abordagem de adaptação verifica se o valor do mesmo é superior ao valor desejado pelo usuário (u r ). Em caso afirmativo, a atual estimativa de cardinalidade para X i (dita x c i) é salva em x o i e o valor de x c i é reduzido pela metade (i.e., x c i = x c i/2) para que o custo da execução do protocolo venha convergir mais rapidamente para um valor menor ou igual ao valor desejado. Por outro lado, se a utilização média está abaixo do desejado (i.e., u c i u r ), então, a abordagem avalia a relação entre a última variação realizada no valor de x i e a última variação observada para a utilização média u i da seguinte forma: (1) A variação de u i acompanha a variação de x i isto é, (x c i > xo i [variação positiva] e uc i uo i [variação positiva]) ou (x c i < xo i [variação negativa] e uc i < uo i [variação negativa]). Nesse caso, x c i é incrementado em K unidades, pois ainda existem recursos disponíveis na rede e o desempenho do protocolo pode ser melhorado sem comprometer as aplicações; (2) A variação de u i não acompanha a variação de x i isto é, (x c i > x o i [variação positiva] e u c i < u o i [variação negativa]) ou (x c i < x o i [variação negativa] e u c i u o i [variação positiva]). Nesse caso, a rede deve estar sobrecarregada, então x c i é reduzido a metade, para diminuir o impacto do protocolo sobre a rede. Calculado x c i, o mesmo deve ser limitado entre 2 e n. Por fim, o conjunto X i é adaptado para possuir x c i participantes, incluindo os coordenadores da rodada atual e da próxima. 4. Considerações Finais Este artigo apresentou uma abordagem de auto-gestão para protocolos de consenso, usando, para tanto, o protocolo de consenso HMMR. Nessa abordagem, possibilita-se 9

23 ao usuário interferir na adaptação do algoritmo a partir da definição de restrições de uso de banda de rede. Entretanto, a definição dos parâmetros do próprio mecanismo de auto-gestão (i.e., δ, K e bwm) ainda precisam ser avaliados, pois os mesmos impactam na qualidade dessa adaptação. Se a vazão nominal da rede não é conhecida, bwm pode ser estimado considerando o tempo nominal de atendimento da rede como sendo o menor atraso fim-a-fim observado durante a execução do protocolo abordagem similar às de [de Sá and Macêdo 2010, Macêdo et al. 2011]. Os parâmetros δ e K podem ser estimados e adaptados a partir do ferramental matemático da teoria de controle [Hellerstein et al. 2004]. Uma avaliação experimental da abordagem de auto-gestão proposta está sendo conduzida no âmbito do Laboratório de Sistemas Distribuídos (LaSiD). A idéia é que o protocolo auto-gerenciável proposto possa ser integrado e oferecido em conjunto com outros mecanismos auto-gerenciáveis de tolerâncias a falhas previamente implementados (e.g., [de Sá and Macêdo 2010], [Macêdo et al. 2011] e [de Sá et al. 2013]). Referências Aguirre, L. A. (2004). Introdução à identificação de sistemas Técnicas lineares e nãolineares aplicadas a sistemas reais. editora UFMG. Chandra, T. D. and Toueg, S. (1996). Unreliable failure detectors for reliable distributed systems. Journal of the ACM (JACM), 43(2): de Sá, A. S. and Macêdo, R. J. A. (2010). Qos self-configuring failure detectors for distributed systems. In Proceedings of the 10th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS 2010), volume 6115 of Lecture Notes in Computer Science (LNCS), pages , Berlin, Heidelberg. Springer-Verlag. de Sá, A. S., Silva Freitas, A. E., and de Araújo Macêdo, R. J. (2013). Adaptive request batching for byzantine replication. SIGOPS Oper. Syst. Rev., 47(1): Fischer, M. J., Lynch, N. A., and Paterson, M. S. (1985). Impossibility of distributed consensus with one faulty process. Journal of the ACM (JACM), 32(2): Hellerstein, J. L., Diao, Y., Parekh, S., and Tilbury, D. M. (2004). Feedback control of computing systems. Wiley-Interscience, Canada. Hurfin, M., Macedo, R., Mostéfaoui, A., and Raynal, M. (2001). A consensus protocol based on a weak failure detector and a sliding round window. In Proceedings of the 20th IEEE Symposium on Reliable Distributed Systems, SRDS 2001., pages IEEE. Hurfin, M. and Raynal, M. (1999). A simple and fast asynchronous consensus protocol based on a weak failure detector. Distributed Computing, pages Macêdo, R. J. A., Freitas, A. E. S., and de Sá, A. S. (2011). A self-manageable group communication protocol for partially synchronous distributed systems. In Proceeding of Fifth Latin-Amarican Symposium on Dependable Computing, LADC 2011, pages , São José dos Campos, SP, Brazil. IEEE Computer Society Press. Matos, M., Pereira, J., and Oliveira, R. (2008). Self-tuning with self-confidence (fast abstract). In 38th Annual IEEE/IFIP International Symposium on Dependable Systems and Networks, DSN 2008, pages 1 2. Pereira, J. and Oliveira, R. (2004). The mutable consensus protocol. In Proceedings of the 23rd IEEE International Symposium on Reliable Distributed Systems, SRDS 2004, pages

24 Um Mecanismo de Auto-gestão para Sistemas de Armazenamento de Dados Replicados nas Nuvens Fabiola de Lima Moreira 1, Alírio Santos Sá 1 1 Programa de Pós-Graduação Multiinstitucional de Mestrado em Ciência da Computação Laboratório de Sistemas Distribuídos (LaSiD) / Departamento de Ciência da Computação Universidade Federal da Bahia, Salvador, Bahia, Brasil Resumo. Sistemas replicados de armazenamento de dados são fortes candidatos à implantação na nuvem. Todavia, a provisão transparente de garantias de consistência, escalabilidade e confiabilidade não é uma tarefa simples quando as condições de carga no ambiente e os requisitos de QoS das aplicações podem mudar. Neste contexto, a habilidade de auto-gestão se torna uma habilidade básica a ser suportada por tais serviços. Assim, este artigo propõe uma mecanismo de auto-gestão para sistemas de armazenamento de dados nas nuvens que visa manter requisitos de tempo de resposta, consistência e disponibilidade, considerando as mudanças dinâmicas na carga computacional do ambiente e possíveis alterações nos requisitos de QoS das aplicações 1. Introdução Computação em nuvem representa um modelo de computação baseado em tecnologias da Internet, no qual os recursos computacionais podem ser automaticamente provisionados para reduzir custos de manutenção e prover qualidade do serviço. Neste modelo de computação, o armazenamento de dados é um serviço básico a ser provido de maneira escalável, transparente e segura, ao mesmo tempo em que atende a requisitos específicos de qualidade de serviço das aplicações. Isto representa um desafio, pois o serviço de armazenamento deve manter a consistência dos dados, considerando, por exemplo: condições de carga computacionais dinâmicas; e requisitos de qualidade de serviço que podem mudar de acordo com o interesse da aplicação. Assim, dotar estes sistemas de gerenciamento de dados com a habilidade de auto-gestão se torna uma questão básica. Algumas aplicações toleram que as operações de leitura, sobre os sistemas de armazenamento replicados, retornem dados desatualizados (o que caracteriza um esquema com consistência fraca). As soluções que seguem está abordagem oferecem um tipo específico de consistência fraca, denominada de consistência eventual [Vogels 2009]. Nesse modelo, é possível calcular o período entre atualizações dos dados replicados e estabelecer o momento a partir do qual os dados estarão atualizados. Esse período é denominado de janela de inconsistência. A adaptação da janela de inconsistência permite implementar soluções distribuídas de armazenamento que ofereçam diferentes níveis de consistência e de desempenho que podem se adequar às necessidades das aplicações. Neste contexto, este artigo propõe um mecanismo de auto-gestão para sistemas de armazenamento de dados nas nuvens que visa manter requisitos de tempo de resposta, consistência e disponibilidade, considerando as mudanças dinâmicas na carga do ambiente computacional e nos requisitos de qualidade de serviço das aplicações. 11

25 O restante deste artigo está organizado da seguinte forma. A Seção 2 discute alguns trabalhos relacionados. A Seção 3 apresenta a proposta de auto-gestão para sistemas de armazenamento de dados. Por fim, a Seção 4 traz algumas considerações finais e propostas de trabalhos futuros. 2. Trabalhos Relacionados Muitos trabalhos sobre sistemas auto-gerenciáveis de armazenamento de dados são encontrados na literatura. Em [Chaudhuri and Weikum 2000], discute-se a importância da auto-configuração para a melhoria do desempenho dos banco de dados. Em [Martin et al. 2006], são discutidos modelos de carga de trabalho para bancos de dados auto-gerenciáveis modelos estes que consideram experimentos com cargas de trabalho específicas para identificar relações de compromisso e reconhecer pontos de melhoria para a implementação de propriedades de auto-gestão. Em [Lightstone et al. 2002] e em [Mateen et al. 2008], são apresentadas soluções de auto-gestão voltados para autoconfiguração e otimização de desempenho em sistemas de banco de dados consolidados (i.e., DB2 e SQL Server, respectivamente). Diferentes destes trabalhos, a solução proposta neste artigo tenta atender aos requisitos de QoS definidos pela aplicação em termos de desempenho (i.e., vazão de operações/segundo e nível de consistência), observando as condições dinâmicas de carga impostas pelo ambiente computacional. Além disso, nenhum destes trabalhos lida com aspectos relacionados a consistência eventual. O trabalho de [Kraska et al. 2009] aponta a existência de uma relação de compromisso não trivial entre custo, consistência e disponibilidade nas soluções de armazenamento nas nuvens. Por conta disso, propõem um novo paradigma transacional em que as garantias de consistência de dados são definidas em tempo de execução, através de técnicas de monitoramento dos dados. Com essas técnicas, os registros são categorizados individualmente e as suas atualizações serão feitas de acordo com as garantias de consistência de cada categoria. Apesar de oferecer consistência fraca, a fim de diminuir o custo computacional, e por consequência o tempo de resposta na leitura de dados, esse trabalho não está voltado a garantir que a compensação entre consistência e latência seja vantajosa (diferente do que está sendo proposto no presente trabalho). 3. Descrição da Proposta de Auto-Gestão A abordagem proposta é implementada em uma infraestrutura de servidores de armazenamento distribuídos e com esquema de replicação híbrido. Este esquema considera a existência de um conjunto S de servidores de armazenamento replicados, os quais estão divididos em dois grupos, ditos S p e S b, (ver Figura 1). Figura 1. Modelo de replicação 12

26 Os servidores em S p (composto por réplicas primárias) são responsáveis por receber e responder as operações de escrita das aplicações e, periodicamente, sincronizar seu estado com os servidores em S b (composto por réplicas secundárias). A característica hibrída desta infraestrutura reside no fato de que as réplicas em S p são atualizadas de forma atômica (síncrona), enquanto as réplicas em S b são atualizadas de forma assíncrona. As operações de leitura podem ser respondidas por qualquer réplica em S. No entanto, caso uma réplica em S b responda uma requisição, por ter estratégia de replicação assíncrona, não há garantia de que a versão do dado é a mais recente, caracterizando uma consistência fraca. Para a implementação do mecanismo de auto-gestão proposto, algumas relações de compromisso são ressaltadas: Número de réplicas em S p. Quanto mais réplicas em S p, maior é a resiliência à falhas do sistema; contudo, maior também é o custo das operações de escrita (maior carga de processamento e comunicação, maior latência de escrita e menor vazão das operações de escrita por segundo). Entretanto, quanto mais réplicas, melhor é o balanceamento da carga para operações de leitura e a sincronização com as réplicas em S b. Período de atualização das réplicas em S b. Quanto menor o período usado para atualização das réplicas em S b, maior é custo computacional com processamento e troca de mensagens. Com períodos pequenos, mais réplicas podem estar atualizadas para responder às requisições de leitura. Entretanto, períodos muitos pequenos podem provocar sobrecarga na infraestrutura e implicar em redução da qualidade de serviço tanto da infraestrutura quanto das aplicações. Essas relações de compromisso são usadas pela abordagem proposta para implementar um laço de gestão, no qual: (1) verifica os requisitos de desempenho da aplicação (determinados em função da latência e da vazão das operações de leitura/escrita); (2) monitora o desempenho entregue pelo serviço em termos dessas mesmas métricas (i.e., latência e vazão das operações); (3) compara o desempenho entregue com o desejado e então sugere modificações no número de réplicas em S p e no período de atualizações das réplicas em S b, considerando as condições de carga do ambiente computacional. Para isto, segue as seguintes políticas: Caso a latência média de escrita seja maior que a latência média desejada, então a réplica mais lenta de S p é removida do quorum; Caso a latência média de leitura esteja acima da latência média desejada, então o período de atualização das réplicas em S b é aumentado; As operações de leitura recebidas por uma réplica em S p são direcionadas para nós em S p ou S b com a maior quantidade de recursos disponíveis para atender às requisições e que estejam com os dados atualizados de acordo com os requisitos de consistência da aplicação. 4. Considerações Finais Este artigo apresentou um mecanismo de auto-gestão baseado em políticas capaz de adaptar parâmetros de um serviço replicado de armazenamento de dados, usando requisitos de QoS definido pela aplicação e observando mudanças nas características do ambiente computacional. Diferentes níveis de consistência podem ser entregues a partir de uma estrutura de replicação hibrída que combine esquemas de replicação síncrona e assíncrona. Os requisitos de QoS da aplicação e o desempenho entregue pela infraestrutura de armazenamento são especificados/observados em termos da latência e da vazão das operações 13

27 de escrita/leitura. Os parâmetros ajustados são representados pelo quorum de escrita nas réplicas primárias e pelo período de atualização das réplicas secundárias. A abordagem de adaptação dos quorum de escrita/leitura e do período de atualização das réplicas estão em desenvolvimento. Além disso, um ambiente experimental está sendo implementado para avaliar a abordagem proposta sob diferentes condições de carga e falhas de componentes. Outras questões, como o chaveamento e auto-configuração de estratégias usadas para disseminação dos dados entre as réplicas também precisam ser avaliados, uma vez que estes têm impacto direto no desempenho exposto pelo sistema de armazenamento. Por fim, pretende-se integrar a abordagem proposta a outros mecanismos auto-gerenciáveis de tolerância a falhas em desenvolvimento e previamente implementados no âmbito do Laboratório de Sistemas Distribuídos (LaSiD) ver por exemplo [de Sá and Macêdo 2010], [Macêdo et al. 2011] e [de Sá et al. 2013]. Referências Chaudhuri, S. and Weikum, G. (2000). Rethinking database system architecture: Towards a self-tuning risc-style database system. In Proceedings of the 26th International Conference on Very Large Data Bases, pages 1 10, San Francisco, CA, USA. Morgan Kaufmann Publishers Inc. de Sá, A. S. and Macêdo, R. J. A. (2010). Qos self-configuring failure detectors for distributed systems. In Proceedings of the 10th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS 2010), volume 6115 of Lecture Notes in Computer Science, pages , Berlin, Heidelberg. Springer- Verlag. de Sá, A. S., Silva Freitas, A. E., and de Araújo Macêdo, R. J. (2013). Adaptive request batching for byzantine replication. SIGOPS Operating Systems Review, 47(1): Kraska, T., Hentschel, M., Alonso, G., and Kossmann, D. (2009). Consistency rationing in the cloud: pay only when it matters. volume 2, pages VLDB Endowment. Lightstone, S. S., Lohman, G., and Zilio, D. (2002). Toward autonomic computing with db2 universal database. SIGMOD Rec., 31(3): Macêdo, R. J. A., Freitas, A. E. S., and de Sá, A. S. (2011). A self-manageable group communication protocol for partially synchronous distributed systems. In Proceeding of Fifth Latin-Amarican Symposium on Dependable Computing, LADC 2011, pages , São José dos Campos, SP, Brazil. IEEE Computer Society Press. Martin, P., Elnaffar, S., and Wasserman, T. (2006). Workload models for autonomic database management systems. In International Conference on Autonomic and Autonomous Systems (ICAS 2006), pages Mateen, A., Raza, B., Hussain, T., and Awais, M. (2008). Autonomic computing in SQL Server. In 7th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2008), pages Vogels, W. (2009). Eventually consistent. Communications of the ACM, 52(1):

28 32º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos Florianópolis - SC 4º Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 2014 Sessão Técnica 2 Redes Autonômicas

29

30 Um Protocolo de Roteamento Adaptativo a Carga de Bateria e a presença de falhas em Redes Móveis Ad hoc Bruno de Jesus Santos 1, Sérgio Gorender 1 1 Laboratório de Sistemas Distribuídos (LASID) Departamento de Ciência da Computação (DCC) Universidade Federal da Bahia (UFBa) Av. Adhemar de Barros S/N, Ondina, Salvador Ba Brasil Abstract. Mobile Ad hoc networks (MANET) are composed of mobile nodes which communicate through wireless network. These nodes make use of different protocols to manage the process of route discovery. Considering these mobile devices, features related to mobility, to the use of batteries, and the presence of communication failures are challenges to be faced. Given these challenges, the authors present a routing protocol to the automation of such problems, incorporating diverse concepts to your model from the area of autonomic computation, seeking partial solution of the current challenges in the area of Mobile Ad Hoc Networks. Resumo. Redes Móveis Ad hoc (MANETs) são redes compostas por nós móveis que se comunicam utilizando interface sem fio e fazem uso de diversos protocolos para gerenciar o processo de descoberta de rotas. Por serem dispositivos móveis, apresentam desafios relacionados à mobilidade, ao uso de baterias, e à presença de falhas de comunicação. Frente a esses desafios, os autores propõem um protocolo que visa a automatização de tais problemas, incorporando ao seu modelo diversos conceitos da área da computação autonômica, visando a solução parcial dos atuais desafios da área de Redes Móveis Ad hoc. 1. Introdução Redes Móveis Ad hoc (MANET) são redes compostas por dispositivos móveis que utilizam interface de comunicação sem fio, sendo sua arquitetura projetada para proporcionar conexão em rede. Por ser uma rede formada por dispositivos móveis, possui topologia dinâmica, e despreza a necessidade de um dispositivo de rede central para conectar outros dispositivos [Bansal et al, 1999; Sankar et al, 2005]. Nela, todos os dispositivos conectados assumem o papel de roteadores móveis [Qin and Kunz, 2004], utilizando-se de protocolos de roteamento e de tecnologias de comunicação ( Wi-Fi, Bluetooth, ZigBee, Mesh) [Sankar et al, 2005]. Arquiteturas de redes auto-gerenciáveis têm sido desenvolvidas como soluções emergentes para as redes móveis [Sankar et al, 2005; Baccelli and Perkins, 2012]. Protocolos para Redes Ad Hoc gerenciam arquiteturas de redes dinâmicas [Qin and Kunz, 2004], compostas por conjuntos de nós que possuem comportamentos individuais, caracterizados pela mobilidade individual e independente de cada nó, pela carga variável da bateria de cada nó, no processamento de requisições independentes e na potência de sinal da interface de rede de cada nó, dentre outros aspectos [Baccelli and Perkins, 2012]. A mobilidade dos nós, a ausência de carga na bateria de um nó, ou uma falha do dispositivo podem gerar falhas na conexão da rede [Baccelli and Perkins, 2012, Huang et al, 2009]. Apresentamos um protocolo de roteamento para MANETs, capaz de gerenciar de forma autonômica a formação de rotas, monitorar a presença de falhas de comunicação, e a possibilidade de falha de um nó devido a queda no nível da carga de sua bateria. A arquitetura de rede proposta para este protocolo possibilita a construção de rotas em MANETs, priorizando a maior carga de bateria dos dispositivos da rede. A carga da bateria dos nós na rota é considerada pelo protocolo como prioritária, em detrimento de uma rota mais curta, para formar rotas que se mantenham 17

31 estáveis por maior tempo. Atualmente existem diversos modelos de mobilidade, sendo que o nosso modelo leva em consideração que os nós podem se movimentam livremente, assumindo uma velocidade padrão de movimentação para todos os nós. O restante do artigo foi organizado da seguinte forma: a Seção 2 introduz o conceito de redes autonômicas e descreve os desafios encontrados na Gerencia de Redes Móveis Ad hoc, a proposta de uma arquitetura do nosso modelo de protocolo é descrito na Seção 3; e por fim, as conclusões da nossa pesquisa são apresentadas na Seção Redes Móveis Ad hoc e seus desafios MANETs apresentam grandes desafios à sua construção e utilização, devido à sua dinamicidade, caracterizada pela mobilidade dos dispositivos, pela limitada carga da bateria destes dispositivos, e pela necessidade da rede em se adaptar às constantes mudanças de estado [Bakht, 2010; Misra, 2012]. Topologia Dinâmica e tempo de duração das rotas criadas. A maioria dos protocolos tradicionais de roteamento em MANETs (AODV, DSR, OLSR, DSDV, TORA), elegem rotas com base em inundação de mensagens na rede, sofrendo restrições de desempenho para promoção de novas rotas em tempo hábil [Bakht, 2010]. Alguns protocolos levam em consideração tais problemas, mas normalmente possuem restrições relacionadas ao modelo de busca por novas rotas quando uma rota é desfeita [Qin and Kunz, 2004; Sankar et al, 2005]. Consumo de energia dos dispositivos móveis. Dispositivos em MANETs são dependentes de energia, sofrendo considerável consumo por parte dos processadores, memórias e interfaces de rede sem fio. Alguns poucos protocolos para MANETs consideram a carga da bateria na construção de rotas [Baccelli and Perkins, 2012]. O desenvolvimento de mecanismos autonômicos de busca e de recuperação de rotas. Provê aos nós a possibilidade de elencar rotas secundárias à rota principal. A replicação de rotas proporciona o compartilhamento de rotas alternativas para todos os dispositivos no processo de roteamento em rede [Huang et al, 2009; Zeinab et al, 2012 ]. Auto-gestão da rede, tendo a capacidade de percepção das alterações internas e externas. Os próprios nós da rede tomam decisões com relação à otimização e recuperação de rotas existentes. A auto-gestão [Zeinab et al, 2012] deve ser obtida a partir do monitoramento dos dispositivos que compõe a rota [Huang et al, 2009]. 3. Um Protocolo de Roteamento adaptativo à carga de bateria e à presença de falhas de comunicação em Redes Móveis Ad hoc Assumimos uma rede formada por dispositivos móveis, com a capacidade de comunicação sem fio. Os nós podem se mover em qualquer direção, entretanto, a movimentação não é constante, e não ocorre a grandes velocidades. A rede não é confiável, podendo ocorrer perda de pacotes e não pode ser particionada. Os dispositivos possuem uma carga limitada em sua bateria, a qual reduz em maior ou menor velocidade, dependendo, entre outros aspectos, da potência do sinal de comunicação utilizada. A mobilidade dos nós, que acontece de forma aleatória, pode gerar a desconexão, quando dispositivos conectados se movimentam para distâncias superiores às do alcance de seus sinais. Esta desconexão gera a perda de rotas de comunicação, previamente construídas. 3.1 O princípio de funcionamento do protocolo O protocolo de formação de rotas adaptativo à carga da bateria leva em consideração os dois atuais modelos de eleição de rotas em Redes Móveis Ad hoc, o reativo e o pró-ativo. O protocolo estabelece a construção de rotas em duas etapas: primeiro é gerada a Rota Principal, entre o nó que originou conexão e o nó destino, ilustrado na Figura 1 como Rota principal (Linha em negrito que conecta o nó origem, e o nó destino, marcados com um círculo). Este 18

32 primeiro modelo de busca de rotas é executado sob demanda, de forma similar ao protocolo AODV. A partir do nó origem é efetuada uma inundação de mensagens na rede (Flooding) até que o nó destino seja encontrado. A formação da rota levará em consideração o nível de carga de bateria, selecionando para a rota principal os nós que possuem maior nível de carga de bateria. Figura 1. Modelo de arquitetura autonômica para Redes MANET Após a rota principal ser formada, de forma reativa, os nós que fazem parte desta rota executarão, de tempos em tempos, uma descoberta de rotas locais, formando assim rotas denominadas como rotas secundárias (Ilustradas na Figura 1). Este procedimento é feito de forma pró-ativa, de forma similar ao DSR. Essas rotas servirão como base de redirecionamento automático da conexão principal (Rota Principal) em caso de falhas. Todos os nós monitoram periodicamente o nível de sua carga de bateria. Se for atingido um limite mínimo de carga, o nó informará para o nó anterior em todas as rotas em que participar sua situação. A formação das rotas secundárias segue o mesmo princípio de escolha da Rota Principal, levando em consideração apenas os dois nós mais próximos aos nós que compõem a rota principal, e que possuam maior carga de bateria. Este processo se replicará em dois níveis (Ilustrados na Figura 1 como Nível 1 e Nível 2, sendo o Nível 0 o nível da Rota Principal). Caberá ao mecanismo de monitoração, o redirecionamento da rota principal para alguma rota secundária. A arquitetura utiliza o modelo de zonas (Ilustrado na Figura 1 como Zonas 1, 2 e 3) para permitir que os nós que formarão a Rota Secundária só se conectem com zonas à frente da sua própria zona. As zonas serão formadas tendo como base o número mínimo de três nós que fazem parte da rota principal, e a cada novo conjunto de três nós da rota principal uma nova zona é formada. Atualmente os autores estudam a possibilidade de alteração deste padrão de forma adptativa a quantidade de nós que compõem a rede. No caso de o mecanismo de monitoração identificar um nó com o nível da bateria abaixo do limite mínimo, a rota principal também será reconstruída, da mesma maneira, assumindo o nó monitorado como estando com falha. Por possuir a característica de mobilidade, de tempos em tempos o mecanismo deverá analisar a consistência da rota. Na presença de falhas inesperadas, o mecanismo deverá ser capaz de redirecionar a conexão utilizando o mesmo modelo descrito acima. 4. Implementação e resultados A Tabela 1 demonstra alguns resultados de simulações executadas através do simulador OMNET++. O nosso protocolo está sendo referênciado na tabela como EARP. Foram evidênciados 5 cenários para cada protocolo (AODV, DSR e EARP), possuindo características distintas, levantando resultados que foram comparados, demonstrados abaixo na Tabela 1. Através de uma análise inicial, fica evidente que os protocolos AODV e DSR conseguem 19

33 eleger suas rotas principais com alguns segundos de vantagem frente a nossa proposta. Contudo, vale ressaltar o tempo de durabilidade (Funcionamento) da rota principal no nosso modelo. Nos 5 cenários evidenciados, o nosso modelo consegue estabilizar por maior tempo o funcionamento da rota principal até a presença da primeira falha. 5. Conclusões Redes Ad Hoc autonômicas fazem parte de um campo relativamente novo no estudo das redes. As redes Ad Hoc são dinâmicas, e por tal caracteristica precisam ser auto-gerenciáveis, otimizando a criação de rotas, a recuperação ou o redirecionamento de rotas que possam vir a apresentar falhas. Entre os diversos desafios apresentados por Redes Móveis Ad Hoc Autonômicas, está o de gerenciar o uso da carga da bateria dos dispositivos móveis, de forma a otimizar a comunicação. Protocolos Tempo de Simulação Área do Projeto Tipo de Mobilidade e Quant. nós Tecnologia Tempo de formação rota principal Uso da rota principal até a 1ª falha C1 AODV 240min 80mX20m Massa n 0.22s 21min C1 DSR 240min 80mX20m Massa n 0.18s 19min C1 EARP 240min 80mX20m Massa n 0.29s 62min C2 AODV 240min 60mX20m Massa n 0.20s 17min C2 DSR 240min 60mX20m Massa n 0.17s 20min C2 EARP 240min 60mX20m Massa n 0.24s 67min C3 AODV 240min 50mX20m Massa n 0.16s 13min C3 DSR 240min 50mX20m Massa n 0.11s 18min C3 EARP 240min 50mX20m Massa n 0.20s 44min C4 AODV 240min 40mX30m Massa n 0.8s 14min C4 DSR 240min 40mX30m Massa n 0.6s 11min C4 EARP 240min 40mX30m Massa n 0.10s 34min C5 AODV 240min 20mX20m Massa n 0.12s 26min C5 DSR 240min 20mX20m Massa n 0.10s 19min C5 EARP 240min 20mX20m Massa n 0.14s 39min * C - Cenário Tabela 1.Resultados das simulações executadas com o simulador OMNET++ Apresentamos neste artigo a ideia de um protocolo para construção e manutenção de rotas em MANETs, que leva em consideração a carga da bateria dos dispositivos e a possível presença de falhas de comunicação entre eles. O objetivo é descobrir rotas que possam se manter estáveis por um tempo maior, possibilitando a comunicação entre os dispositivos móveis, por um maior período de tempo, com menor probabilidade de ocorrência de falhas. Referências Baccelli, e.; Perkins, c. (2012) Multi-hop Ad Hoc Wireless Communication IETF: Internet Draft. p. 11. Bakht, H (2010) Survey of Routing Protocols for Mobile Ad-hoc Network International Journal of Information and Communication Technology Research, Manchester, v. 1, n. 6, p. 13. Bansal, M.; Rajput, R.; Gupta, G (1999) RFC 2501: Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issuesand Evaluation Considerations. IETF: RFC Network Working Group. p. 12. Huang, Yangcheng; Handurukande, Sidath; Bhatti, Saleem (2009) Autonomic MANET Routing Protocols Journal of Networks, vol. 4, no. 8, Irlanda. Misra, P (2012). Routing Protocols for Ad Hoc Mobile Wireless Networks Washington University in St.Louis - Department of Computer Science & Engineering, p. 45. Qin, L.; Kunz, T (2004) Survey on mobile ad hoc network routing protocols and cross-layer design Carleton University: Systems and Computer Engineering, Technical Report SCE p. 26. Sankar, R.; et al (2005) Routing and Mobility Management in Wireless Ad Hoc Networks In: Mobile computing handbook. 1ª Ed.: CRC Press, v. 1, Cap. 27, p Zeinab Movahedi, Mouna Ayari, Rami Langar, and Guy Pujolle (2012) A Survey of Autonomic Network Architectures and Evaluation Criteria IEEE Communications Surveys & Tutorials, Vol. 14, No. 2, Second Quarter 20

34 Um Protocolo de Roteamento Dinâmico para Redes Veiculares Margarete Sá, Sérgio Gorender 1 Laboratório de Sistemas Distribuídos (LaSiD) Departamento de Ciência da Computação Universidade Federal da Bahia (UFBA) Salvador, BA Brasil Resumo. VANETs (Vehicular Ad hoc Networks) são redes de comunicação inter veicular, dinâmicas, nas quais os links de comunicação entre os veículos são criados e destruídos a todo o momento. Esta dinamicidade caracteriza uma dificuldade para a criação de rotas para a transmissão de mensagens entre os veículos, uma vez que estas rotas são quebradas rapidamente pela perda da comunicação entre os veículos. Apresentamos um protocolo baseado em heurísticas para a construção de rotas que se adaptam ao estado do ambiente de comunicação. Este protocolo está inserido na arquitetura I CAR, utilizando a base de conhecimento do ambiente de comunicação provida pela arquitetura para a construção das rotas. Abstract. VANETs (Vehicular Ad hoc Networks) are inter-vehicular networks, in which the communication links between vehicles are created and destroyed dynamically. Due to this dynamism it is difficult to create stable communication routes in VANETs. In this networks, the communication routes are broken down quickly by the loss of communication between vehicles. We present a routing protocol based on heuristics for the construction of communication routes in VANETs. The routes are dynamically adapted to the current state of the communication environment. This protocol is embedded in the I CAR architecture, and uses the knowledge base provided by the architecture for the construction of the routes. 1. Introdução VANETs (Vehicular Ad hoc Networks) são redes de comunicação inter-veicular, consideradas uma subclasse das redes MANETs (Mobile Ad hoc Networks Redes Móveis Ad hoc)[sichitiu and Kihl 2008]. Devido à alta mobilidade dos veículos, associado a obstáculos físicos, a comunicação entre os agentes torna-se vulnerável a perdas de conexão e interferências diversas à comunicação. Diversos protocolos para o roteamento em VANETs têm sido desenvolvidos, baseados em diferentes aspectos da rede [Jagadeesh et al. 2011]. Alguns protocolos se baseiam em características físicas do ambiente de comunicação, como a localização geográfica dos veículos, obtida por um GPS (Global Positioning System Sistema de Posicionamento Global), a distância entre os agente ou a existência de obstáculos, identificados em um mapa. Também informações sobre o tráfego podem ser utilizadas por alguns protocolos. Outros utilizam informações obtidas pela monitoração da comunicação, construindo uma topologia da rede, ou dividindo os veículos em zonas 21

35 de comunicação, por exemplo. Muitos trabalhos estão sendo realizados para desenvolver protocolos de roteamento eficientes na tomada de decisão sobre qual o nó capaz de encaminhar mensagens. Redes auto-gerenciáveis, que se adaptam dinamicamente a alterações no ambiente de comunicação são adequadas para redes veiculares [Jagadeesh et al. 2011, Legendre et al. 2005], monitorando as condições da rede e otimizando e reconfigurando sua comunicação, assim como provendo a recuperação de falhas [Dobson et al. 2006]. Apresentamos uma estratégia para um protocolo de roteamento para redes veiculares. Este protocolo foi desenvolvido para a arquitetura I-CAR (Intelligent Communication Mechanism for Multi-Agent Vehicular Applications) [Sá and Gorender 2012b, Sá and Gorender 2013], a qual é uma arquitetura autonômica para redes veiculares. A arquitetura provê serviços de comunicação entre os agentes veiculares, a partir da análise do estado de comunicação da rede, percebido por cada agente a partir de um serviço de monitoração [Sá and Gorender 2012a]. Na próxima seção teremos uma breve apresentação sobre as principais estratégias de roteamento encontradas na literatura. Na seção 3 apresentaremos a descrição da estratégia proposta. Na seção 4 teremos as considerações finais. 2. Trabalhos Relacionados Em VANETs o padrão de encaminhamento de mensagens em múltiplos saltos é muito utilizado, principalmente, para aplicações não tolerantes a atrasos [Sichitiu and Kihl 2008]. Muitos destes trabalhos baseiam-se em abordagens como [Jagadeesh et al. 2011, Legendre et al. 2005]: inundação por difusão encaminham uma mensagem para todos os veículos retransmitindo uma cópia de cada mensagem recebida; região geográfica alvo possuem um alvo geográfico conhecido e apenas os nós nestes alvos recebem as informações; localização dos nós realizam o encaminhamento de mensagens usando informações sobre a posição geográfica para selecionar o próximo nó; em grupo de nós por meio de alguma estratégia de consenso, um nó líder é eleito e o encaminhamento dos pacotes é feito por ele para todos os nós do grupo; topologia da rede são aqueles que precisam descobrir e manter as rotas em tabelas antes de enviar os dados; informações do tráfego das vias são aqueles que precisam detectar e manter dados sobre as condições do tráfego de veículos em uma via. Neste trabalho propomos uma estratégia de encaminhamento de mensagens baseada em caminhos de múltiplos saltos. Os caminhos são construídos por meio de regras que verificam a base de conhecimento do agente do I-CAR envolvido na transmissão. Esta base de conhecimento possui informações sobre a localização e o estado da comunicação dos agentes que são mantidas pelo sistema de monitoramento do I-CAR [Sá and Gorender 2012a]. Neste sentido, as regras são construídas usando algumas estratégias das abordagens descritas nesta seção com o objetivo de aumentar as garantias nos serviços de transmissão de dados fim-a-fim, inicialmente, do I-CAR, posteriormente, comparar o desempenho com outras estratégias utilizadas. 3. Serviço de transmissão de mensagens Assumimos uma rede veicular, formada por agentes veiculares que interagem por meio de comunicação sem fio. A comunicação entre os agentes é não confiável, sendo que a 22

36 comunicação destes pode falhar por colapso (crash). Todos os agentes veiculares executam o módulo do I CAR, o qual provê ao agente serviços de comunicação. A rede não é particionada. A base de conhecimento do I CAR armazena informações coletadas do ambiente de comunicação, através de um serviço de monitoração. Cada agente possui informações sobre seus vizinhos, agentes comunicáveis, tempos de comunicação estimados, entre outras [Sá and Gorender 2012b]. O I CAR define o estado de comunicação entre dois agentes como comunicável quando um agente conseguiu transmitir e receber mensagens, em um período recente, de um outro agente. Agentes são vizinhos quando estão no alcance de seus sinais de comunicação Funcionamento Geral do protocolo de roteamento Durante a transmissão de uma mensagem até o agente destino, assumimos que s é o agente de origem da mensagem e d o agente de destino da mensagem. Também consideramos que f é um agente de encaminhamento da mensagem e l é o agente local, que está executando o protocolo em um dado momento. Assim, durante a transmissão de uma mensagem de um agente s para o agente d, os agentes envolvidos na transmissão realizam os seguintes passos: Enquanto a mensagem não chegar ao agente destino, o tempo de vida da mensagem não for alcançado e existir um próximo agente escolhido: O agente que está com a mensagem para transmissão verifica se existe uma rota de comunicação válida já definida, para o agente destino d. Caso esta rota não exista, o agente executa as heurísticas para construção de rotas. Se existe um próximo agente válido, a mensagem é transmitida para este próximo agente. A mensagem leva informações sobre a rota construída ou modificada. Cada agente em uma rota armazena uma identificação da rota, agentes de origem e destino, tempo de validade e próximo agente. Assim, a partir da segunda mensagem, uma rota válida poderá estar disponível, desde que o agente correspondente verifique e considere que a rota continua válida. Heurísticas para construção de rotas As heurísticas a seguir são utilizadas por cada agente na construção de uma rota, para selecionar um próximo agente para esta rota. R1 Listar os agentes que são vizinhos tanto para o agente l quanto para o d. R2 Caso a regra R1 não seja aplicável, liste os agentes que são comunicáveis para d e vizinhos de l. R3 Caso a regra R2 não seja possível, liste os agentes que são vizinhos de l. A lista resultante, no caso das regras R1 e R2, é ordenada pelo tempo de comunicação de cada agente listado em relação ao d, sendo selecionado o agente com menor valor. Vale ressaltar que, o tempo de comunicação corresponde ao atraso da comunicação entre dois agentes o qual é calculado, estimado e mantido pelo I CAR. Caso tenha sido aplicada a regra R3, assumimos que não há no agente informação suficiente para transmitir a mensagem até o destino. Neste caso a rota (ou o restante da rota) será construída por um processo sob demanda, usando flooding, similar ao protocolo em [Korkmaz et al. 2004]. 23

37 Verificação de uma rota válida Cada agente de encaminhamento ao receber uma mensagem, verifica se o próximo agente nesta rota se mantém como seu agente vizinho, e se também se mantém comunicável com o agente destino. Caso estas condições não sejam satisfeitas, as regras do parágrafo anterior podem ser novamente executadas, para adaptar a rota à nova situação da rede. 4. Considerações Finais O protocolo de roteamento aqui apresentado está sendo implementado no simulador de rede OmNet++ para validação. Está sendo inserido na implementação do protótipo da arquitetura I CAR, também feita neste mesmo simulador. Acreditamos que o uso das heurísticas, somado ao fato de a rota ser construída dinamicamente, durante o envio de uma mensagem, caracterize uma otimização do processo de construção de rotas. Considerando a dinamicidade deste ambiente, não existem garantias em nenhuma situação, de que uma dada rota de comunicação seja a mais rápida, ou a mais segura. Entretanto, mantendo uma monitoração constante do ambiente, e efetuando uma, também constante, verificação das rotas utilizadas, é possível adaptar as rotas de comunicação, às alterações que acontecem de forma veloz e constante, no ambiente das redes veiculares. Referências Dobson, S., Denazis, S., Fernández, A., Gaïti, D., Gelenbe, E., Massacci, F., Nixon, P., Saffre, F., Schmidt, N., and Zambonelli, F. (2006). A survey of autonomic communications. ACM Transactions on Autonomous and Adaptive Systems (TAAS), 1(2): Jagadeesh, K., Siva Sathya, S., Govinda Laxmi, B., and Ramesh, B. (2011). A survey on routing protocols and its issues in vanet. International Journal of Computer Applications, 28(4): Korkmaz, G., Ekici, E., Özgüner, F., and Özgüner, Ü. (2004). Urban multi-hop broadcast protocol for inter-vehicle communication systems. In Proceedings of the 1st ACM international workshop on Vehicular ad hoc networks, pages ACM. Legendre, F., de Amorim, M. D., and Fdida, S. (2005). Some requirements for autonomic routing in self-organizing networks. In Autonomic Communication, pages Springer. Sá, M. and Gorender, S. (2012a). Monitoração inteligente de estados de comunicação para aplicações sobre redes veiculares. In IX Encontro Nacional de Inteligência Artificial, ENIA 2012, Paraná, Brasil. Sá, M. and Gorender, S. (2012b). Um serviço de comunicação baseado em regras para veículos autônomos em redes móveis. In VII Congresso Nacional de Engenharia Mecânica, Maranhão, Brasil. Sá, M. and Gorender, S. (2013). Uma arquitetura de rede para serviços de comunicação autonômicos. In III Workshop em Sistemas Distribuídos Autônomo (WoSiDA) 31o Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos. Sichitiu, M. and Kihl, M. (2008). Inter-vehicle communication systems: a survey. Communications Surveys & Tutorials, IEEE, 10(2):

38 Utilização de Múltiplos Veículos Aéreos Não Tripulados para o Estabelecimento de Comunicação em Redes de Sensores Sem Fio Particionadas Tales Heimfarth 1, João Paulo de Araujo 1, Alexandre Henrique Teixeira Dias 1, Julio Cezar Santos Diniz 1 1 Departamento de Ciência da Computação Universidade Federal de Lavras (UFLA) Resumo. O presente trabalho apresenta uma proposta para o estabelecimento de comunicação em redes particionadas por meio da utilização de um conjunto de veículos aéreos não tripulados (VANTs). Cada partição elege um cluster head que recebe pacotes endereçados para partições distintas. Os cluster heads são periodicamente visitados por um VANT que transporta os pacotes fisicamente (message ferrying) até o cluster head do segmento destino. A área da rede é dividida em regiões e cada VANT é responsável pelas partições dentro da sua região. A troca de pacotes pertencentes a regiões distintas é realizada por um encontro periódico dos VANTs. Simulações demonstraram que a utilização de dois VANTs reduziu a latência média de comunicação e aumentou a taxa de entrega quando comparado a cenários com um único veículo aéreo. 1. Introdução Redes de Sensores Sem Fio (RSSFs) podem ser empregadas em diversas situações como, por exemplo, monitoramento de florestas ou gerenciamento de desastres. Em RSSFs, o ambiente apresenta condições adversas que podem levar a um número de falhas, isolando grupos de nós sensores. Nós pertencentes a diferentes partições da rede são incapazes de se comunicarem, reduzindo drasticamente a qualidade do serviço. Diferentes abordagens foram propostas para tratar desse problema de desconexões em RSSFs. O trabalho apresentado em [Li and Hou 2005] trata do problema da incorporação de alguns poucos nós adicionais dentro do limite da rede de forma a conectar uma rede inicialmente particionada. O uso de sink móveis é abordado por [Al-Turjman et al. 2011]. [Hunjet and Hui 2011] apresenta uma proposta para o cálculo de posicionamento de Veículos Aéreos Não Tripulados (VANTs) como retransmissores, de forma a restaurar a conectividade da rede. Em [Heimfarth and de Araujo 2014] foi proposta a utilização de nós móveis para restaurar a conectividade de uma RSSF particionada, com segmentos distantes entre si. Para isso, VANTs transportam pacotes entre as diferentes partições. O trabalho baseia-se no modelo de message ferrying [Zhao et al. 2004]. Nesse modelo, nós móveis são usados para transportar fisicamente os pacotes de uma partição para outra. Na proposta, somente um VANT é utilizado para cobrir a desconexão de uma rede vasta, resultando em uma alta taxa de perdas. O presente trabalho é uma extensão da proposta original com o objetivo 25

39 de permitir a utilização de mais VANTs em um mesmo campo de operação e formar uma Rede Tolerante a Atrasos (DTN). Com o aumento do número de VANTs pode-se aumentar a taxa de entrega de pacotes e reduzir a latência. 2. Definição do Problema O trabalho trata do restabelecimento da conexão em uma RSSF formada por diversas partições desconexas utilizando múltiplos VANTs. A rede é modelada como um grafo G = (V, A), onde V é um conjunto de nós e uma aresta {u, v} A, se e somente se há um link de comunicação entre u V e v V. Há n partições na rede, contidas no conjunto P = {p 1, p 2,..., p n }. Uma partição é um subconjunto de vértices, ou seja, p i = { v V u p i com u v, L {u,v}}. L {u,v} é um caminho conexo entre u e v, definido como L {u,v} = { {v, x1 }, {x 1, x 2 },..., {x g 1, x g }, {x g, u} }, para g N e L {u,v} A. Uma propriedade inerente à rede é dada por: u, v, com u p i, v p j e i j, L {u,v}. Essa propriedade expressa a desconexão entre as partições. O estabelecimento da conexão entre nós de partições distintas é solucionado em [Heimfarth and de Araujo 2014] utilizando um VANT e um modelo de movimento baseado na versão euclideana do problema do caixeiro viajante (ETSP). O presente trabalho, diferentemente da abordagem inicial, utiliza m VANTs, criando m sub-grafos, doravante denominados regiões, contidos em R = {r 1, r 2,..., r m }. E, cada região contém um conjunto exclusivo de partições, ou seja, r i = {p P r j R, com i j, r i r j = }. Como cada VANT sobrevoa uma única região, este trabalho também aborda a comunicação entre os m VANTs, de forma a garantir a comunicação entre partições em regiões distintas. 3. Restabelecimento de Conexão com Múltiplos VANTs Inicialmente, em uma rede desconexa, cada partição elege um nó cluster head que tem a missão de interagir com o VANT. Esse nó especial tem a responsabilidade de armazenar os pacotes cujos destinos estão em outras partições. Dentro de uma mesma partição, os pacotes são roteados por meio de um protocolo de roteamento geográfico. Entretanto, quando não é possível enviar o pacote para o destino, devido à inexistência de caminho conexo, o pacote é encaminhado para o cluster head, utilizando a mesma estratégia de roteamento. No cluster head, o pacote pode ser armazenado ou descartado, dependendo da capacidade de seu buffer. A comunicação entre partições é realizada pelo VANT, que periodicamente sobrevoa cada cluster head, entregando os pacotes que têm como destino aquela partição e coletando os que se destinam a outras. A capacidade de coleta do VANT é limitada pelo tamanho de seu buffer. Diferindo da proposta inicial, as partições são divididas igualmente em m regiões, uma para cada VANT. A comunicação entre as regiões é realizada por meio do encontro dos VANTs em um ponto fixo no centro da área da rede. A divisão das partições em regiões é feita de forma que o somatório total do ETSP calculado em cada região (incluindo o ponto central) seja o menor possível. 26

40 A Figura 1 ilustra um exemplo de rede desconexa, composta por 6 partições. Como forma de tratar a desconexão, são utilizados 2 VANTs e as regiões foram definidas respeitando o critério supracitado. Partição Região Ponto de encontro entre os VANTs Trajeto do VANT 1 Trajeto do VANT 2 Figura 1. Modelo de movimento para dois VANTs 4. Resultados e Discussão Nesta seção, os resultados obtidos a partir de simulações são apresentados para diferentes cenários, como forma de avaliar o método proposto. As simulações foram realizadas utilizando o simulador GrubiX. O raio de alcance dos rádios é de 50 metros e a área de simulação possui 9km 2. A rede é particionada em 6 e a velocidade dos VANTs é 60 km h. Os cenários simulados variam em quantidade de VANTs, tamanho de buffer para VANTs e cluster heads e a quantidade de fluxos de pacotes transmitidos. Cada cenário foi simulado 50 vezes. As Figuras 2 e 3 contêm os resultados obtidos para 10 e 20 fluxos, respectivamente, sendo que cada fluxo possui 100 pacotes, transmitidos em uma vazão de 0,1 pacote por segundo. Em situações onde o tráfego é moderado há pouca variação na taxa média de entrega, fato justificado pela capacidade de um único VANT poder percorrer todas as partições em um tempo onde perdas não ocorrem. A latência média com a utilização de 2 VANTs cai por dois motivos: um único VANT não é suficiente para transportar de uma única vez todos os pacotes contidos nos cluster heads e também o percurso realizado por cada VANT é menor (contido na sua região). Número de Pacotes Entregues 1,200 1, VANT 2 VANTs Latência (s) VANT 2 VANTs Tamanho do Buffer: Cluster head VANT Tamanho do Buffer: Cluster head VANT Figura 2. Taxa de entrega e latência para cenário com 10 fluxos de pacotes Já a Figura 3 exibe os resultados para um cenário onde a rede está mais saturada, devido aos 20 fluxos presentes. Nesse caso, a utilização de 2 VANTs traz ganho na taxa de entrega de pacotes em ambas as combinações de tamanhos de buffers, devido a menor rota realizada pelos VANTs e o fato de um único VANT não ser capaz de coletar todos os pacotes de uma vez sem gerar perdas e aumentar a latência. 27

41 Número de Pacotes Entregues 2,000 1,500 1, VANT 2 VANTs Latência (s) VANT 2 VANTs Tamanho do Buffer: Cluster head VANT Tamanho do Buffer: Cluster head VANT Figura 3. Taxa de entrega e latência para cenário com 20 fluxos de pacotes 5. Conclusão O presente artigo trouxe uma extensão da proposta apresentada em [Heimfarth and de Araujo 2014] para o estabelecimento, por meio de message ferrying realizado por VANTs, de comunicação em redes particionadas. Na corrente abordagem, a área da rede é dividida em regiões e cada VANT é responsável por receber os pacotes das partições pertencentes a sua região. Um ponto central na área é estabelecido para o encontro dos VANTs e troca de pacotes entre regiões distintas. Simulações demonstraram que, para redes com maior tráfego, a utilização de dois VANTs reduziu a latência média de comunicação e aumentou a taxa de entrega. Como trabalho futuro será feito um estudo do comportamento do sistema para cenários com tráfego mais localizado e regiões maiores. Além disso, planeja-se a utilização de partições comuns entre diferentes regiões para serem utilizadas como ponto de troca de pacotes entre VANTs. 6. Agradecimentos Os autores agradecem à FAPEMIG, CNPq e CAPES pelo apoio e o pelo recurso financeiro para o desenvolvimento do presente trabalho. Referências Al-Turjman, F., Hassanein, H., and Ibnkahla, M. (2011). Optimized wireless sensor network federation in environmental applications. In Global Telecommunications Conference (GLOBECOM 2011), 2011 IEEE, pages 1 5. Heimfarth, T. and de Araujo, J. P. (2014). Using unmanned aerial vehicle to connect disjoint segments of wireless sensor network. In The 28th IEEE International Conference on Advanced Information Networking and Applications (AINA-2014), Victoria, Canada. Hunjet, R. and Hui, P. (2011). Maintaining connectivity in mobile adhoc networks using distributed optimisation. In Communications and Information Systems Conference (MilCIS), 2011 Military, pages 1 6. Li, N. and Hou, J. (2005). Improving connectivity of wireless ad hoc networks. In Mobile and Ubiquitous Systems: Networking and Services, MobiQuitous The Second Annual International Conference on, pages Zhao, W., Ammar, M., and Zegura, E. (2004). A message ferrying approach for data delivery in sparse mobile ad hoc networks. In Proceedings of the 5th ACM international symposium on Mobile ad hoc networking and computing, MobiHoc 04, pages , New York, NY, USA. ACM. 28

42 32º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos Florianópolis - SC 4º Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 2014 Sessão Técnica 3 Modelos

43

44 A Systematic Model-Based Approach for Feedback Control Trade-Off Evaluation in Autonomic Systems Sandro S. Andrade 1,2, Raimundo José de A. Macêdo 1 1 Distributed Systems Laboratory (LaSiD) - Department of Computer Science Federal University of Bahia. Salvador-Ba. Brazil 2 GSORT Distributed Systems Group Federal Institute of Education, Science, and Technology of Bahia. Salvador-Ba. Brazil Abstract. Nearly thirteen years have elapsed in the autonomic systems research field and approaches with different underpinnings have been proposed over that period. Of these, the use of feedback control theory and architecture-centric mechanisms has enabled the early reasoning of self-* properties and the development of reusable solutions. Nevertheless, becoming familiar with the vast array of control techniques available and accurately evaluating the involved tradeoffs are still challenging tasks. In this paper, we discuss how meta-modeling can be used to capture distilled design knowledge in the autonomic systems domain. Our approach relies on the use of multi-objective optimization to elicit trade-off architectures in an unbiased and well-informed way. Such mechanism has been used to evaluate different control strategies in MapReduce architectures as a basis for controlling the performance of Hadoop-based distributed jobs. 1. Introduction A number of approaches for endowing systems with autonomic and self-management capabilities have been proposed over the last years, usually relying on technologies such as dynamic architectures, graph grammars, intelligent agents, nature-/bio-inspired mechanisms, just to mention a few [Lemos 2013]. Of these, control-theoretical approaches [Hellerstein et al. 2004] have proven to be effective in enabling the early reasoning of self-* properties and addressing highly dynamic and uncertain environments. Having once decided for a control-theoretical approach, architects still struggle to become familiar with the large design/solution space available [Patikirikorala et al. 2012]. Decisions on the use of a specific control strategy, filtering mechanism, tuning parameters values, and inter-loop arrangement should be taken in an unbiased and well-informed way since they extensively influence the resulting quality attributes. Such attributes are commonly conflicting and the cause-effect mapping between architectural decisions and quality attributes is usually not straightforward. Current software engineering research towards autonomic systems focus mainly on the proposal of modeling frameworks, reference architectures, and architectural patterns catalogs. Whereas such approaches indeed contribute to the capture and documentation of autonomic systems design expertize, the lack of systematically structured knowledge representations and accurate mechanisms for eliciting and deciding about trade-offs make it harder a wider and easier adoption of such capabilities in the industry. 31

45 Sensors/Actuators Capabilities + System Dynamics Initial system model (non-autonomic) SA:DuSE (autonomic systems-specific DuSE instance) App-specific design space instance Optimization Parameters Pareto-optimal candidate architectures Final autonomic manager architecture Create annotated managed element model Validate SA:DuSE design dimension instances Optimize architecture Select final candidate from Pareto-front repeat as necessary Figure 1. SA:DuSE design process overview In this paper, we present a model-based approach for capturing autonomic systems design knowledge which, in association with multi-objective optimization mechanisms, can help architects in the tasks of choosing a particular near-optimal feedback control architecture and getting insights about the involved quality attribute trade-offs. We have been evaluating our design approach in some autonomic computing scenarios, including self-adaptive web servers, virtualization environments, and MapReduce distributed architectures. Case studies results and outcomes from controlled experiments show that our approach can help architects to design more effective architectures and find out subtle solutions for particular autonomic computing problems. 2. The Proposed Approach As depicted in Figure 1, our approach aims at supporting the automated design and analysis of feedback control loops (autonomic managers) by enabling the optimization of an initial UML model describing the system to be controlled (managed element). Such input model uses specific UML stereotypes to indicate any controllable and monitorable interfaces (e.g., for adjusting a buffer size and measuring response time, respectively) comprising the original system. In order to support the systematic capture of multiple design alternatives for feedback control and their impacts on quality attributes, we have designed a domain-specific modeling language named DuSE. DuSE provides the basic constructs for specifying architecture design spaces in terms of design dimensions (degrees of freedoms), their associated variation points (describing how new architectural elements are configured and added to the initial system so that a particular control strategy is achieved), and quality metrics (enabling the evaluation of resulting candidate architectures). DuSE can be specialized in distinct design space domains. As such, SA:DuSE is such an instantiation of DuSE aimed at capturing the most prevalent design dimensions, variation points and quality metrics in the autonomic systems domain. Currently, SA:DuSE supports the automated design of autonomic managers regarding six different control laws (P, PI, PID, static state feedback, precompensated static state feedback, and dynamic state feedback), seven empirical tunning approaches (four Chien-Hrones- Reswick variations, Ziegler-Nichols, Cohen-Coon, and LQR), three mechanisms for control adaptation (gain-scheduling, model-reference, and model-identification), and three different control loops deployment arrangements (global, local control + shared reference, and local control + shared error). In addition, four quality metrics related to control overhead, average settling time, average maximum overshoot, and control robustness are also available. 32

46 Designing a particular feedback control strategy requires to decide on the adoption of a specific variation point for each one of the aforementioned design dimensions (control law, tunning approach, control adaptation, and control loop deployment). Some combinations eventually subtle ones may exhibit outstanding quality values, while others may reflect poor design or invalid candidate architectures. DuSE provides constructs for specifying validation rules, so that invalid architectures are automatically discarded. It is worth mentioning that such decisions should be taken for each managed element (controllable component) represented in the initial system. As a consequence, the search space (possible control architectures) rapidly becomes huge as the complexity of the initial model increases. For instance, models with three controllable components yield 54,010,152 candidate architectures. That figure increases to 20,415,837,000 for inputs with four controllable components. Such scenario in association with the inherent difficulties to cope with conflicting quality attributes and to elicit solutions that explicitly characterize the involved trade-offs motivated us to adopt multi-objective optimization techniques [Deb and Kalyanmoy 2001] for better supporting the architect s decisions. Over the past years, search-based approaches have been successfully used to solve many problems in Software Engineering and, in particular, in automated software design [RäIhä 2010]. Evolutionary multi-objective optimization have been proven effective in finding near-optimal and uniformly distributed sets of non-dominated solutions (Pareto-front). All these solutions represent optimal architectures, differing only in which quality metric they favor. Our approach has been fully implemented in a tool named DuSE-MT 1 a crossplatform application developed in C++/Qt which provides a fully integrated environment for meta-modeling, definition of new domain-specific design spaces, and multi-objective architecture optimization. We have developed our own meta-modeling stack implementation (QtModeling 2 ), currently supporting the MOF, UML, and DuSE languages. As for the optimization step, the NSGA-II evolutionary multi-objective optimization algorithm [Deb and Kalyanmoy 2001] was also implemented as part of DuSE-MT. Further information about our approach can be found in [Andrade and Macêdo 2013]. 3. Evaluation SA:DuSE has been used to support the automated design of effective autonomic managers for MapReduce architectures. The controller aims at regulating a job s response time by adjusting the number of concurrent map tasks that run in each cluster s data node. A secondary control loop operates at a slower pace, regulating the provision of new data nodes whenever the inner control loop is unable to delivery the specified response time. The resulting Pareto-front when optimizing a model which describes such autonomic scenario include around 4-10 (because of algorithm randomness) different architectures, mostly highlighting the conflict between settling time and maximum overshoot as the most noticeable trade-off. We have performed experimental studies by comparing the SA:DuSE predicted quality attribute values with measurements from a real cluster formed by 21 machines with 4Gb of RAM, 2.6GHz quad-core CPU, running Hadoop 2.3 and the

47 ArchLinux operating system. The results indicate that our approach yields autonomic manager structures which, in the most of optimal architectures, induce quality attributes with a ±2% and ±3% errors in predicted settling time and overshoot, respectively. Potential improvements in the quality of resulting autonomic manager architectures, design process productiveness, and effectiveness in conveying distilled design knowledge have been investigated in a controlled experiment. The experiment goal was to compare our search-based design approach and an architecture design method based on the use of architectural styles catalogs. The subjects of the experiment were 22 graduate students, conducting an autonomic system design task as a block subject-object quasiexperiment. Results show, with a significance level of 0.05, that there are improvements in autonomic manager quality and effectiveness in conveying design knowledge when using our approach. We found no evidence for improvements in process productiveness. 4. Conclusion In this paper, we presented a search-based approach for automated design and analysis of autonomic managers architectures. Our approach differs from previous related work in that we capture distilled design knowledge in a systematic machine-consumable way, making it amenable to optimization and well-informed eliciting of trade-off solutions. Our approach assumes that an initial quality-annotated model of the managed element is available and that a particular DuSE instance (domain-specific design space) has already been created by the domain expert. We also cannot guarantee real Paretooptimality since meta-heuristics are used. On the other hand, the NSGA-II algorithm is well-known for its effectiveness in finding out near-optimal solutions, making the resulting candidates still useful architectures. References Andrade, S. S. and Macêdo, R. J. d. A. (2013). A search-based approach for architectural design of feedback control concerns in self-adaptive systems. In Proceedings of the 7th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2013, Philadelphia, PA, USA. IEEE. Deb, K. and Kalyanmoy, D. (2001). Multi-Objective Optimization Using Evolutionary Algorithms. John Wiley & Sons, Inc., New York, NY, USA. Hellerstein, J. L., Diao, Y., Parekh, S., and Tilbury, D. M. (2004). Feedback Control of Computing Systems. John Wiley & Sons. Lemos, R. (2013). Software engineering for self-adaptive systems: A second research roadmap. In Lemos, R., Giese, H., Müller, H., and Shaw, M., editors, Software Engineering for Self-Adaptive Systems II, volume 7475 of Lecture Notes in Computer Science, pages Springer Berlin Heidelberg. Patikirikorala, T., Colman, A., Han, J., and Wang, L. (2012). A systematic survey on the design of self-adaptive software systems using control engineering approaches. In Software Engineering for Adaptive and Self-Managing Systems (SEAMS), 2012 ICSE Workshop on, pages RäIhä, O. (2010). A survey on search-based software design. Computer Science Review, 4(4):

48 Revisitando uma Infraestrutura Autonômica: Uma Perspectiva Baseada em uma Rede Definida por Software Marcelo Santos 1, Patricia Endo 1, Moisés Bezerra 1, Glauco Gonçalves 1, Djamel Sadok 1, Stênio Fernandes 1 1 Grupo de Pesquisa em Redes de Computadores e Telecomunicações (GPRT) Universidade Federal de Pernambuco (UFPE) Recife PE - Brasil {marcelo, patricia, moises, glauco, jamel, Abstract. Autonomic Networks and Software Defined Networks (SDN) have a great potential to work together, due to the management power provided by SDN protocols and technologies. This paper has as contribution an autonomic infrastructure proposal based on SDN. The SDN and autonomic network solution is done in a practical way through the use of a FloodLight controller, creating a flexible infrastructure to several scenarios. Taking into consideration the proposed infrastructure, different strategies can be implemented and analyzed in real physical networks, by using well-defined protocols and the power of flow handling provide by a SDN. Resumo. Redes autonômicas e redes definidas por software (SDN) possuem um grande potencial para trabalhar de forma conjunta, dado o poder de gerenciamento fornecido pelos protocolos e tecnologias utilizadas em SDN. Este artigo tem como contribuição uma proposta de infraestrutura autonômica, baseada em SDN. A junção de SDN e redes autonômicas é alcançada de forma prática através da utilização do controlador FloodLight, criando um ambiente flexível para diversos cenários. Considerando a infraestrutura proposta, diferentes estratégias podem ser facilmente implementadas e avaliadas em redes físicas reais, utilizando-se de protocolos bem definidos e do poder de manipulação dos fluxos fornecida por uma SDN. 1. Introdução Enquanto a arquitetura da Internet é um sucesso consolidado para seus usuários finais, especialmente em relação a diversidade de aplicações e serviços disponíveis atualmente; para a indústria e operadoras de rede, ela se tornou um sistema complexo, caro e pouco flexível. Software Defined Networking (SDN) é um novo paradigma que promete fornecer a capacidade de amplo controle sobre fluxos de tráfego da rede, com o objetivo principal de simplificá-la e de torná-la mais barata e flexível. Este controle é alcançado através da separação dos planos de controle e de encaminhamento. Desta forma, o tráfego pode ser explicitamente roteado e inspecionado por elementos de rede de controle com segurança e com políticas de gerenciamento eficientes. As redes autonômicas têm se tornado um importante campo de pesquisa para a Internet do Futuro, utilizando-se de propriedades como auto-cura, auto-configuração, auto-proteção, auto-otimização e auto-organização [IBM 2005], visando diminuir a complexidade do controle da rede e consequentemente facilitar seu gerenciamento. Em 35

49 outras palavras, a principal característica das redes autonômicas é a minimização do grau de interferência humana, deixando que o próprio elemento autônomo tome a decisão a partir de uma base de conhecimento. Embora a ideia principal por trás de uma SDN seja a centralização do plano de controle, é possível utilizar a interface de gerenciamento oferecida e aplicá-la em uma estrutura de rede autonômica. SDN oferece um conjunto de protocolos e tecnologias bem definidas que permite que aplicações autonômicas sejam executadas sobre uma rede de forma prática e fácil, saindo de um campo abstrato e aproximando de um cenário cada vez mais real de redes. Esse artigo tem como objetivo principal discutir os desafios de construir uma infraestrutura autonômica baseada em SDN utilizando o controlador Floodlight 1 e o switch virtual OpenVSwitch 2, ambos compatíveis com o protocolo OpenFlow 3. A infraestrutura proposta neste artigo possibilita testes de soluções autonômicas já conhecidas, além de levantar discussões de como empregar novas heurísticas autonômicas através deste novo cenário, explorando também suas limitações. O restante do artigo está estruturado da seguinte forma: a Seção 2 apresenta uma breve introdução sobre SDN; a Seção 3 descreve a infraestrutura composta por SDN e redes autonômicas; e por fim, as conclusões e trabalhos futuros são delineados na Seção Software Defined Networking (SDN) Software Defined Networks tem atraído significante atenção tanto da academia quanto da indústria. Fabricantes e provedores de serviços formaram a Open Networking Foundation (ONF) [Open Networking Foundation 2014], enquanto a academia tem trabalhado em grupos de pesquisa pelo IETF e IRTF buscando definir padrões e novos desafios em SDN [SDNRG 2014]. Uma análise da arquitetura atual dos switches permite observar que se trata de um modelo formado basicamente por duas camadas bem distintas: o software de controle (control plane) e o hardware dedicado ao encaminhamento de pacotes (data plane). SDN tem como base a dissociação dos planos de controle e de dados, visando tornar os switches mais baratos, rápidos e flexíveis. Em vez de diversas políticas de gerenciamento e execução de protocolos em uma convolução de dispositivos distribuídos, os elementos da rede (switches e roteadores) são simplificados para cumprir bem unicamente a tarefa de encaminhar os pacotes de acordo com uma tabela de repasse, enquanto os controladores da rede tomam a decisão de como criar esta tabela em cada dispositivo da rede [Mendonça 2014]. O protocolo OpenFlow tem sido utilizado como padrão para permitir a comunicação entre switches e controlador. Cada switch possui uma tabela de fluxos utilizada para o repasse de pacotes. Cada entradas da tabela é chamada de fluxo e determina como um fluxo de pacotes será processado e encaminhado. Um fluxo na tabela é formado pelos seguintes conjuntos de campos: (1) campos de identificação; (2) contadores, usados para coletar estatísticas de um fluxo; e (3) um conjunto de instruções, ou ações, a ser aplicado sobre uma correspondência [Mendonça 2014] https://www.opennetworking.org/sdn-resources/onf-specifications/openflow 36

50 3. Uma infraestrutura autonômica baseada em SDN Em [IBM 2005], os autores definem que a Computação Autonômica é um ambiente computacional com habilidade de se gerenciar e se adaptar dinamicamente à mudanças de acordo com políticas e objetivos pré-estabelecidos. Os ambientes auto-gerenciáveis são capazes de, autonomicamente, executar suas atividades baseados no estado observado, sem requerer alguma entidade central e controladora. Essas tarefas são realizadas em um ciclo de controle, por vezes denominado MAPE-K (Monitor, Analyse, Plan, Execute, and Knowledge). Baseado no ciclo MAPE-K, propõe-se uma infraestrutura autonômica fundamentada em SDN que, diferentemente das SDNs padrão, procura distribuir a tarefa de controle entre os elementos da rede (Figura 1a). A ideia é manter o plano de controle e o plano de encaminhamento juntos no switch, mas com um controlador SDN distribuído em cada switch (Figura 1b). Quando comparado com soluções autonômicas que executam apenas em nível de aplicação, temos como diferencial o controle sobre todos os pacotes, além de protocolos e ferramentas para desenvolver aplicações autonômicas em cada switch, buscando um comportamento emergente baseado em aplicações executadas por cada switch. (a) Figura 1. Utilizando SDN de forma autonômica Na infraestrutura proposta cada switch possui a organização mostrada na Figura 2. Utiliza-se o controlador FloodLight (ou pode-se utilizar outros controladores como o POX 5, por exemplo) juntamente com o switch virtual OpenVSwitch (tutorial de instalação em [OVS e Floodlight 2012]). A aplicação autonômica inserida é independente da linguagem do controlador por se comunicar com ele através de uma interface RESTfull. Toda a parte de monitoramento de fluxos é realizada pelo próprio switch e fornecida através de uma API REST bem definida 6. (b) Figura 2. Nó da rede autonômica baseado em tecnologias SDN A manipulação da tabela de fluxos pode ser realizada através da mesma API REST oferecida pelo Floodlight. As etapas de Analyse, Plan, Execute, e Knowledge oriundas do MAPE-K são implementadas pela aplicação autonômica seguindo qualquer

51 heurística autonômica desejável. É importante notar que devido a utilização do protocolo OpenFLow tem-se informações sobre o fluxo desde a camada de enlace (endereço MAC origem e destino) até a camada de aplicação (protocolo TCP, UDP e respectivas portas utilizadas). É possível criar regras autonômicas para bloqueio de fluxos, multicasting, balanceamento de carga ou reengenharia de tráfego. A capacidade de gerenciamento é ampla em nível de rede, sendo possível manipular campos dos cabeçalhos de pacotes que passam pelos switches com regras simples. É possível ainda definir novos protocolos para troca de mensagens entre switches (vislumbrando monitorar o comportamento de seus vizinhos e obter informações que o ajudem na tomada de decisão), dado que a aplicação em cada switch é totalmente programável. A infraestrutura descrita está ligada diretamente às primitivas fornecidas pelo protocolo OpenFlow, por este motivo, este aspecto atua como uma limitação aos tipos de cenários autonômicos que podem ser implementados nesta infraestrutura devido à inexistência de comunicação direta com serviços disponíveis na rede. No entanto, como alternativa, é possível criar extensões na camada da aplicação autonômica (Figura 2) para atender a requisitos específicos. Para este fim, o trabalho de Wendong et al. (2012) pode servir como ponto de partida para aplicação e extensão da abordagem apresentada. 4. Considerações finais Este trabalho apresentou uma infraestrutura autonômica de rede baseada em recursos de uma SDN. A partir desta infraestrutura é possível delinear discussões sobre como desenvolver aplicações autonômicas fazendo uso de uma interface de manipulação de fluxos capaz de abranger aspectos da camada de enlace até a camada de aplicação da rede. Um ponto importante a ser discutido é a realização de testes e a implantação de aplicações autonômicas em cada switch. Como o esperado é um comportamento emergente da rede, há a dificuldade de testes em larga escala em um cenário real devido ao fato da implantação de cada aplicação ser realizada manualmente em cada switch. Dessa forma, realizar constantes atualizações nesse cenário pode-se tornar custoso. Em trabalhos futuros pretende-se adaptar diversas estratégias autonômicas na infraestrutura apresentada, avaliando sua flexibilidade e suas limitações. Referências IBM (2006), An architectural blueprint for autonomic computing. IBM White Paper. Mendonça, M. et al. (2014) A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks, in submission. Disponível em: Acesso em Março de Open Networking Foundation (ONF) (2014). Disponível em: https://www.opennetworking.org/. Acesso em Março de OVS e Floodlight (2012). Disponível em: Acesso em Março de Software Defined Networking Research Group (SDNRG) (2014). Disponível em: Acesso em Março de Wendong, W., Yannan, H. U., Que, X., & Xiangyang, G. (2012). Autonomicity design in OpenFlow based Software Defined Networking. In IEEE Globecom, pp

52 Abordagem Baseada em Correlação Parcial para Filtragem de Métricas Monitoradas em Sistemas Auto-Gerenciáveis Otto Julio A. Pinno 1, Sand Luz Corrêa 1, Vagner José do Sacramento Rodrigues 1, Kleber Vieira Cardoso 1 1 Instituto de Informática (INF) Universidade Federal de Goiás (UFG) Caixa Postal Goiânia GO Brasil Resumo. Monitoramento baseado em correlação é uma técnica de monitoramento de sistemas que utiliza correlações estatísticas estáveis para detectar falhas. Uma dificuldade, no entanto, é escolher um número mínimo de métricas a serem monitoradas e ainda assegurar a detecção de falhas. Este trabalho utiliza correlação parcial para esse propósito. 1. Introdução Mecanismos atuais de identificação de falhas ainda dependem excessivamente da intervenção humana. A atuação do administrador de sistemas ainda é necessária tanto no fornecimento de entrada de dados para os modelos que rastreiam o comportamento das aplicações quanto na interpretação dos resultados gerados por esses modelos. Uma consequência direta dessa intervenção é o alto tempo necessário para detectar determinados tipos de falhas. Em 2004, estudos [Chen et al. 2004] já mostravam que a identificação e o isolamento de falhas correspondia a 75% do tempo total de recuperação de um problema. Essa situação tende a se agravar à medida que os sistemas computacionais crescem em escala e em complexidade. Nesse contexto, cresce a necessidade de mecanismos de identificação de falhas que atuem de forma autônoma, exigindo o mínimo de intervenção humana. Uma abordagem que tem se mostrado promissora para a construção de mecanismos dessa natureza é o monitoramento baseado em correlação [Jiang et al. 2006, Jiang et al. 2009]. Basicamente, essa abordagem consiste em coletar dados de métricas que representam o estado do sistema durante períodos de normalidade. Esses dados são então usados para capturar correlações estáveis entre métricas monitoradas usando modelos matemáticos. Os modelos de correlação capturados permitem prever o comportamento ou valor de uma métrica em função do comportamento exibido por outra em um passado recente. Como apenas correlações estáveis são consideradas, os valores previstos por esses modelos se mantêm válidos enquanto o sistema opera livre de falhas. No entanto, o valor previsto se desvia significantemente daquele observado quando ocorre uma falha no sistema. O monitoramento baseado em correlação não exige nenhuma informação de entrada por parte do administrador, pois nenhum conhecimento prévio da estrutura do sistema é requerido. Além disso, essa abordagem é genérica, podendo ser aplicada em qualquer sistema que monitora dados. Apesar dessas vantagens, o monitoramento baseado em correlação apresenta algumas dificuldades. Alguns trabalhos assumem um conjunto pequeno de métricas monitoradas [Jiang et al. 2006], o que dificulta uma análise acurada 39

53 da falha. Outros trabalhos monitoram um grande conjunto de métricas [Jiang et al. 2009], o que dificulta a análise dos resultados devido ao número excessivo de modelos, além de elevar a carga de gerência do sistema. Este trabalho usa o conceito de correlação parcial [Kenett et al. 2010] para manter um número mínimo de métricas monitoradas e ainda assegurar a capacidade de detecção de falhas. A correlação parcial descreve o quanto o relacionamento entre duas variáveis é resultado de suas correlações com uma variável intermediária. Diferentemente de técnicas tradicionais que analisam o relacionamento entre pares de variáveis, a correlação parcial tem sido empregada em áreas como Economia para construir uma rede de correlações onde é possível mostrar a influência de algumas variáveis na estrutura de correlação de outras. Isso permite excluir relacionamentos que são resultados de correlações indiretas. 2. Proposta Nossa proposta divide o monitoramento baseado em correlação nas 4 atividades descritas a seguir. 1. Identificação de correlações: para cada par de métricas X e Y monitoradas, consideramos que existe correlação entre X e Y se, para qualquer métrica Z diferente de X e de Y, a correlação entre X e Y removendo-se a influência de Z, denotada coeficiente de correlação parcial (ρ(x, Y : Z)), é maior que um limiar C. O coeficiente de correlação parcial é definido pela Equação 1: ρ(x, Y : Z) = ρ(x, Y ) ρ(x, Z)ρ(Y, Z) [1 ρ 2 (X, Y )][1 ρ 2 (Y, Z)] onde, ρ(x, Y ), ρ(x, Z) e ρ(y, Z) são os coeficientes de Pearson para os seguintes pares de métricas: X e Y, X e Z, Y e Z. O coeficiente de Pearson para duas variáveis A e n i=1 (A i A)(B i B) B quaisquer é expresso por, onde A n i=1 (A i A) 2 n i=1 (B i B) 2 i e B i (i = 1,..., n) são observações das variáveis A e B, respectivamente; A e B são os valores médios das observações de A e B, nesta ordem. 2. Construção de modelos: para cada par de métricas X e Y para o qual o passo anterior identificou a existência de correlação, utilizamos uma técnica de regressão linear e construímos um modelo matemático Y = f(x) para descrever o relacionamento entre esse par de métricas. 3. Validação de modelos: cada modelo matemático construído no passo anterior é validado com o intuito de avaliar sua estabilidade. Para isso, para cada modelo, construímos um limite de aceitação de resíduo 1. Para determinar os limiares superior e inferior dos limites de aceitação, utilizamos a mesma abordagem empregada em [Jiang et al. 2006]. Essa abordagem consiste em encontrar um valor ˆR que é maior que 99, 5% dos resíduos observados (R(t)) e amplificar o resultado em 10%, como descrito na Equação 2. Os valores positivos e negativos do limiar resultante (τ) são usados, respectivamente, como limiares superior e inferior do limite de aceitação do modelo. (1) τ = 1, 1 arg ˆR{prob( R(t) ˆR) = 0.995} (2) 1 resíduo é a diferença entre o valor previsto pelo modelo matemático e o valor realmente observado. 40

54 A validação dos modelos acontece submetendo-os a testes sem anomalias. Nesses testes, são considerados estáveis apenas os modelos em que até uma porcentagem p de observações de resíduos estão fora do limite de aceitação do modelo, isto é, até uma porcentagem p de valores discrepantes (outliers). 4. Detecção de falhas: a detecção de falhas ocorre através do monitoramento dos modelos matemáticos estáveis. Periodicamente, esses modelos são alimentados com novas observações de métricas e os resíduos são calculados. Se algum resíduo viola o limite de aceitação, o modelo correspondente é violado, indicando a ocorrência de uma falha. 3. Resultados Iniciais Avaliamos nossa proposta através de um ambiente real de testes formado por um servidor de banco de dados MySQL, um servidor de aplicação Web Tomcat e um emulador de clientes. Implantamos todo ambiente com base no TPC-w [Menasce 2002], um benchmark para transações Web do tipo e-commerce. O emulador de clientes gera requisições que envolvem diferentes tipos de transações da aplicação Web, tais como navegação de produtos, produtos mais vendidos, carrinho de compras, etc. Utilizamos também o aplicativo collectd [collectd 2014] para coletar, a cada 5 segundos, 396 métricas, incluindo métricas relacionadas à CPU, memória, disco, rede, SO, banco de dados e JVM. Em nossa avaliação, configuramos o limiar de correlação C, descrito no passo 1 da Seção 2, em 50% e utilizamos o algoritmo proposto em [Kenett et al. 2010] para calcular o coeficiente de correlação parcial. Para computar os modelos matemáticos descritos no passo 2 da Seção 2, utilizamos o método de mínimos quadrados. Comparamos nossa proposta com uma estratégia semelhante, mas que utiliza o coeficiente de Pearson, ao invés do coeficiente de correlação parcial. Apresentamos a seguir os resultados dos experimentos realizados. Inicialmente, avaliamos a estabilidade dos modelos matemáticos gerados a partir da filtragem promovida pelos coeficientes de correlação parcial e de Pearson. Para essa avaliação, submetemos os modelos a testes onde nenhuma anomalia é injetada e observamos a quantidade de modelos que passam nos testes, ou seja, que reportam estado livre de falhas. Realizamos essa avaliação considerando valores entre 0 e 100% de p, ou seja, de porcentagem de outliers aceitáveis. Variamos também de 1 a 10 a quantidade de testes de validação executados. Na Figura 1, apresentamos alguns valores de p dentro desse intervalo. Podemos perceber que: 1) a filtragem pelo coeficiente de correlação parcial resulta em uma quantidade muito menor de modelos que aquela feita por Pearson; 2) além de serem em menor quantidade, os modelos derivados do coeficiente de correlação parcial são mais estáveis, pois a quantidade de modelos remanescentes, ou seja, que passam nos testes, não varia significativamente à medida que o número de testes de validação aumenta. Portanto, esses modelos tem menor probabilidade de emitir falso positivo. Para avaliar a eficácia dos modelos matemáticos na detecção de anomalias, realizamos 4 tipos de experimentos. Em cada um, injetamos uma falha diferente, a saber: perda de pacote com probabilidade de 0, 01%; atraso anormal de 100 milissegundos na entrega de um pacote; laço de espera ocupada; e vazamento (leaking) de memória. Novamente, realizamos os experimentos considerando valores entre 0 e 100% de p. A Figura 2 apresenta a quantidade de falhas detectada pelos modelos. Podemos observar que mesmo utilizando uma quantidade muito menor de modelos que a abordagem por Pearson, para 41

55 Número de modelos aceitos Correlação parcial Pearson p=0.01 p=0.10 p=0.90 p=0.01 p=0.10 p=0.90 Acurácia (%) Pearson Correlação parcial Número de testes de validação Figura 1. Número de modelos aceitos em função do número de testes de validação Porcentagem de resíduos discrepantes permitidos Figura 2. Acurácia da detecção de falhas em função da porcentagem de resíduos discrepantes permitidos. alguns valores de p, os modelos derivados do coeficiente de correlação parcial podem detectar 100% das falhas. 4. Conclusão Neste trabalho, apresentamos uma técnica baseada em correlação parcial para reduzir o número de métricas no contexto de monitoramento baseado em correlação. Resultados mostram que nossa proposta é capaz de identificar os modelos mais estáveis. Como consequência, nossa proposta apresenta resultados promissores na detecção acurada de falhas com reduzido custo de monitoramento e processamento das informações. Como trabalhos futuros, pretendemos ampliar os experimentos com injeção de falhas para avaliarmos com mais detalhes a solução proposta, além de compará-la com outras soluções da literatura. Referências Chen, M. Y., Accardi, A., Kiciman, E., Lloyd, J., Patterson, D., Fox, A., and Brewer, E. (2004). Path-based faliure and evolution management. In Proceedings of the 1st Conference on Symposium on Networked Systems Design and Implementation - Volume 1, pages collectd (2014). collectd. The system statistics collection daemon. collectd.org. Último acesso: 05/03/2014. Jiang, G., Chen, H., and Yoshihira, K. (2006). Modeling and tracking of transaction flow dynamics for fault detection in complex systems. Dependable and Secure Computing, IEEE Transactions on, 3(4): Jiang, M., Munawar, M. A., Reidemeister, T., and Ward, P. A. (2009). System monitoring with metric-correlation models: Problems and solutions. In Proceedings of the 6th International Conference on Autonomic Computing, pages Kenett, D. Y., Tumminello, M., Madi, A., Gur-Gershgoren, G., Mantegna, R. N., and Ben-Jacob, E. (2010). Dominating clasp of the financial sector revealed by partial correlation analysis of the stock market. PLoS ONE, 5(12):e Menasce, D. (2002). Tpc-w: a benchmark for e-commerce. Internet Computing, IEEE, 6(3):

56 32º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos Florianópolis - SC 4º Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 2014 Sessão Técnica 4 Segurança em Redes

57

58 Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em Redes de Computadores Luiz Arthur Feitosa dos Santos 1,2, Rodrigo Campiolo 1,2, Daniel Macêdo Batista 1 1 Departamento Acadêmico de Computação (DACOM) Universidade Tecnológica Federal do Paraná (UTFPR) 2 Instituto de Matemática e Estatística (IME) Universidade de São Paulo (USP) Abstract. In this paper we present an autonomic architecture that aims to detect and react to security incidents on local networks. The architecture is based on the union of intrusion detection systems and software defined networks. To evaluate the performance of the architecture, we measure the effectiveness of detection against different attacks. Some preliminary results identified a decrease of 89% packets when the architecture was used against DoS attacks. Besides, other malicious flows were mitigated in just a few seconds. Resumo. Neste trabalho é apresentada uma arquitetura para detectar e reagir autonomicamente a ataques em redes locais. A arquitetura usa uma solução de segurança baseada na união de sistemas de detecção de intrusão e redes definidas por software. A arquitetura é avaliada considerando a efetividade de detecção e a forma de reação a diferentes ataques. Alguns resultados preliminares mostram que é possível evitar cerca de 89% de pacotes gerados por ataques de DoS. Além disso, fluxos suspeitos conseguem ser mitigados em poucos segundos. 1. Introdução Segundo pesquisas realizadas por empresas especializadas em segurança de computadores [Percoco 2013], o número de ataques contra redes locais tem aumentado a cada ano. Atualmente muitos ataques são compostos por várias etapas, o que dificulta a identificação e reação a essas ameaças. Muitas ferramentas que deveriam evitar esses ataques só conseguem identificá-los em etapas muito avançadas, o que é tarde demais, ou não são capazes de detectar que as etapas separadas, em conjunto, constituem um ataque. Mecanismos de segurança como firewalls, antivírus e outros não conseguem lidar plenamente com a diversidade das ameaças quando utilizados isoladamente. Uma forma de reduzir a ineficácia dessas ferramentas é combiná-las criando novas formas de proteção. Também, a computação autonômica permite retirar o ônus da manutenção da segurança do administrador da rede. Neste artigo é apresentada uma arquitetura autonômica que une Sistemas de Detecção de Intrusão (IDS) e Redes Definidas por Software (SDN), na figura do OpenFlow, para mitigar ações maliciosas em redes de computadores locais. O OpenFlow já tem sido utilizado como suporte para novos mecanismos de segurança 45

59 [SRI and ATM 2013]. Soluções usando a combinação entre OpenFlow e IDS foram propostas [Xing et al. 2013, Nagahama et al. 2012], mas não há uma análise crítica do impacto e limitações na implantação dessas soluções, nem pesquisas que unem essas tecnologias com computação autonômica. A arquitetura proposta neste artigo é avaliada em termos de efetividade, limitações e impactos na detecção e reação a ameaças de segurança. São mostrados resultados com experimentos em diferentes cenários de ameaças. Como principal contribuição tem-se a avaliação de viabilidade de uma arquitetura autonômica que combina informações de fontes heterogêneas, no caso IDS e OpenFlow, para detecção e reação a incidentes de segurança, além da própria arquitetura. 2. Arquitetura - Proposta e Experimentos A arquitetura autonômica proposta é apresentada na Figura 1. Figura 1. Arquitetura autonômica proposta. De forma resumida, a arquitetura (Figura 1) gera um ciclo autonômico, que inicia com sensores coletando dados dos elementos passivos (hosts, roteadores, IDS) e ativos (controlador e switches Openflow) da rede. Os elementos passivos só enviam informações sobre o estado da rede e os ativos podem enviar informações para os sensores bem como receber comandos via atuadores. Os dados coletados são repassados ao módulo Monitor, que remove inconsistências e envia para o módulo Base de Conhecimento. O módulo Análise e Planejamento fica constantemente analisando o comportamento da rede através da base de conhecimento e, se identificados problemas na rede, o módulo planeja uma solução e envia um plano de ações ao módulo de Execução. O módulo de Execução traduz as ações em comandos e encaminha aos atuadores. Os atuadores enviam esses comandos aos elementos ativos da rede. Os comandos tem o intuito de afetar o comportamento dos elementos que compõem a rede e esse novo comportamento alterado é retroalimentado pelos sensores, fechando o ciclo. A arquitetura monitora se as ações tomadas resolveram ou não o problema. Em caso negativo, novas ações devem ser lançadas ciclo a ciclo, até que o equilíbrio seja restabelecido. Caso o módulo de Análise e Planejamento fique em dúvida sobre um comportamento da rede, esse pode recorrer a informações externas à rede, que podem ser extraídas de bases de vulnerabilidades da Internet e ameaças citadas em redes sociais [Campiolo et al. 2013] A aplicação autonômica OpenFlow Intrusion Detection and Prevention System (Of-IDPS) foi desenvolvida como prova de conceito da arquitetura. Com o Of-IDPS é 46

Expandindo uma Arquitetura para HPC em Nuvens Computacionais Utilizando Conceitos de Computação

Expandindo uma Arquitetura para HPC em Nuvens Computacionais Utilizando Conceitos de Computação Expandindo uma Arquitetura para HPC em Nuvens Computacionais Utilizando Conceitos de Computação Autonômica Emanuel F. Coutinho 1, Gabriel A. L. Paillard 1 Leonardo O. Moreira 1, Ernesto Trajano de Lima

Leia mais

CloudSimDB: Um Simulador para o Provisionamento de Máquinas Virtuais para o Processamento de Aplicações Centradas em Banco de Dados *

CloudSimDB: Um Simulador para o Provisionamento de Máquinas Virtuais para o Processamento de Aplicações Centradas em Banco de Dados * CloudSimDB: Um Simulador para o Provisionamento de Máquinas Virtuais para o Processamento de Aplicações Centradas em Banco de Dados * Humberto Lima, Felipe Aragão, Jonas Lima, Flávio R.C. Sousa, José Maria

Leia mais

PROGRAMA NACIONAL DE COOPERAÇÃO ACADÊMICA-PROCAD NOVAS FRONTEIRAS EDITAL PROCAD NF 21/2009 FORMULÁRIO DE INSCRIÇÃO DE PROJETO

PROGRAMA NACIONAL DE COOPERAÇÃO ACADÊMICA-PROCAD NOVAS FRONTEIRAS EDITAL PROCAD NF 21/2009 FORMULÁRIO DE INSCRIÇÃO DE PROJETO 1/20 FUNDAÇÃO CAPES DIRETORIA DE PROGRAMAS E BOLSAS NO PAÍS COORDENAÇÃO GERAL DE PROGRAMAS ESTRATÉGICOS/CGPE COORDENAÇÃO DE PROGRAMAS ESPECIAIS/CPE PROGRAMA NACIONAL DE COOPERAÇÃO ACADÊMICA-PROCAD NOVAS

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais Computação em Nuvem Computação em nuvem: gerenciamento de dados Computação em nuvem (Cloud Computing) é uma tendência recente de tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação

Leia mais

Proposta para Grupo de Trabalho. GT-Computação em Nuvem para Ciência: Armazenamento de Dados. Roberto Samarone dos Santos Araujo

Proposta para Grupo de Trabalho. GT-Computação em Nuvem para Ciência: Armazenamento de Dados. Roberto Samarone dos Santos Araujo Proposta para Grupo de Trabalho GT-Computação em Nuvem para Ciência: Armazenamento de Dados Roberto Samarone dos Santos Araujo Agosto/2011 1 Título GT-Computação em Nuvem para Ciência: Armazenamento de

Leia mais

Impacto de Métricas de QoS no Desempenho de Detectores Auto-gerenciáveis de Defeitos para Sistemas Distribuídos

Impacto de Métricas de QoS no Desempenho de Detectores Auto-gerenciáveis de Defeitos para Sistemas Distribuídos 742 Anais Impacto de Métricas de QoS no Desempenho de Detectores Auto-gerenciáveis de Defeitos para Sistemas Distribuídos Alirio Santos de Sá 1, Raimundo José de Araújo Macêdo 1 1 Laboratório de Sistemas

Leia mais

Implementação e Análise de Desempenho de um Mecanismo Adaptativo para Tolerância a Falhas em Sistemas Distribuídos com QoS

Implementação e Análise de Desempenho de um Mecanismo Adaptativo para Tolerância a Falhas em Sistemas Distribuídos com QoS Implementação e Análise de Desempenho de um Mecanismo Adaptativo para Tolerância a Falhas em Sistemas Distribuídos com QoS Sérgio Gorender 1, Raimundo J. A. Macêdo, Matheus Cunha Laboratório de Sistemas

Leia mais

Computação em Nuvem & OpenStack

Computação em Nuvem & OpenStack Computação em Nuvem & OpenStack Grupo de Pesquisa em Software e Hardware Livre Ação Computação em Nuvem: Charles Christian Miers André Rover de Campos Glauber Cassiano Batista Joinville Roteiro Definições

Leia mais

Concretização de um protocolo de difusão atómica em sistemas com ligações intermitentes

Concretização de um protocolo de difusão atómica em sistemas com ligações intermitentes Concretização de um protocolo de difusão atómica em sistemas com ligações intermitentes Sérgio Cardoso Escola Sup. Gestão de Santarém Politécnico de Santarém s.cardoso@mail.telepac.pt Luís Rodrigues Faculdade

Leia mais

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes EN-3610 Gerenciamento e Interoperabilidade de Redes Computação em Nuvem Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente Computadores

Leia mais

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS Cleverson Nascimento de Mello¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

Gaudi Grupo de Computação Distribuída

Gaudi Grupo de Computação Distribuída Gaudi Grupo de Computação Distribuída Fabíola Gonçalves Pereira Greve DCC - UFBA http://gaudi.dcc.ufba.br Gaudi - DCC - UFBA WCADBA 2008 1 Como construir aplicações distribuídas confiáveis, que apesar

Leia mais

Análise do impacto de operações de live migration em ambientes de computação em nuvem Workshop MoDCS 2012.2

Análise do impacto de operações de live migration em ambientes de computação em nuvem Workshop MoDCS 2012.2 Análise do impacto de operações de live migration em ambientes de computação em nuvem Workshop MoDCS 2012.2 Matheus D'Eça Torquato de Melo (mdetm@cin.ufpe.br) Paulo Maciel (prmm@cin.ufpe.br) 12 Roteiro

Leia mais

Arquitetura e Sistema de Monitoramento para

Arquitetura e Sistema de Monitoramento para Arquitetura e Sistema de Monitoramento para 1 Computação em Nuvem Privada Mestranda: Shirlei A. de Chaves Orientador: Prof. Dr. Carlos Becker Westphall Colaborador: Rafael B. Uriarte Introdução Computação

Leia mais

Segurança da Informação

Segurança da Informação INF 108 Segurança da Informação Computação em Nuvem Prof. João Henrique Kleinschmidt Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente

Leia mais

Estudo comparativo entre dois tradicionais algoritmos de roteamento: vetor distância e estado de enlace.

Estudo comparativo entre dois tradicionais algoritmos de roteamento: vetor distância e estado de enlace. Estudo comparativo entre dois tradicionais algoritmos de roteamento: vetor distância e estado de enlace. Ederson Luis Posselt 1, Geovane Griesang 1 1 Instituto de Informática Universidade de Santa Cruz

Leia mais

Modelo de simulação de um processo de requisições em um servidor web de alta disponibilidade

Modelo de simulação de um processo de requisições em um servidor web de alta disponibilidade Modelo de simulação de um processo de requisições em um servidor web de alta disponibilidade Tiago de Azevedo Santos tiago@iff.edu.br João José de Assis Rangel joao@ucam-campos.br RESUMO Este trabalho

Leia mais

Faculdade de Tecnologia Senac RS (FATEC/RS) Porto Alegre RS Brasil. {fdalosto, hunderc, Smayres}@gmail.com

Faculdade de Tecnologia Senac RS (FATEC/RS) Porto Alegre RS Brasil. {fdalosto, hunderc, Smayres}@gmail.com Validação de modelo para registro de freqüência utilizando computação pervasiva e tecnologia RFID Camila San Martin Ayres, Fábio Dal Osto, Hunder Everton Correa Jr. Faculdade de Tecnologia Senac RS (FATEC/RS)

Leia mais

Assembléia da Comissão Especial de Arquitetura de. Computadores e Processamento de Alto Desempenho da SBC

Assembléia da Comissão Especial de Arquitetura de. Computadores e Processamento de Alto Desempenho da SBC Assembléia da Comissão Especial de Arquitetura de Computadores e Processamento de Alto Desempenho da SBC Data: 29/10/2010 Horário início: 19:12 h Local de realização: SBAC-PAD 2011, Petrópolis, RJ, Brasil

Leia mais

REDES AD-HOC MARCELO BORGES DE ANDRADE RODRIGO COLLI. Departamento de Engenharia Instituto de Educação Superior de Brasília - IESB

REDES AD-HOC MARCELO BORGES DE ANDRADE RODRIGO COLLI. Departamento de Engenharia Instituto de Educação Superior de Brasília - IESB REDES AD-HOC MARCELO BORGES DE ANDRADE RODRIGO COLLI Departamento de Engenharia Instituto de Educação Superior de Brasília - IESB http://www.iesb.br e-mail: marcelo.andrade@ig.com.br rodrigo.colli@esporte.gov.br

Leia mais

Estratégias para Alocação Dinâmica de Recursos em um Ambiente Híbrido de Computação em Nuvem

Estratégias para Alocação Dinâmica de Recursos em um Ambiente Híbrido de Computação em Nuvem 128 XI Workshop de Computação em Clouds e Aplicações Estratégias para Alocação Dinâmica de Recursos em um Ambiente Híbrido de Computação em Nuvem Paulo Antonio Leal Rego 1, Emanuel Ferreira Coutinho 1,2,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

Computação em Nuvem. (Cloud Computing) Pesquisa & Desenvolvimento

Computação em Nuvem. (Cloud Computing) Pesquisa & Desenvolvimento Computação em Nuvem (Cloud Computing) Pesquisa & Desenvolvimento Santo André: 20 de fevereiro de 2013 Características de um bom Data Center Bom Desempenho Escalabilidade Alta Disponibilidade Economia Gerência

Leia mais

Backbones Ad Hoc. Aluno: Eduardo Hargreaves Orientador: Luís Felipe M. de Moraes Coppe/UFRJ - Programa de Engenharia de Sistemas e Computação

Backbones Ad Hoc. Aluno: Eduardo Hargreaves Orientador: Luís Felipe M. de Moraes Coppe/UFRJ - Programa de Engenharia de Sistemas e Computação Backbones Ad Hoc Aluno: Eduardo Hargreaves Orientador: Luís Felipe M. de Moraes Coppe/UFRJ - Programa de Engenharia de Sistemas e Computação Estrutura do Trabalho Motivações MBN TBONE Conclusões Motivações

Leia mais

Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar

Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar David Beserra 1, Alexandre Borba¹, Samuel Souto 1, Mariel Andrade 1, Alberto Araujo 1 1 Unidade Acadêmica de Garanhuns

Leia mais

COMPARAÇÃO DE DESEMPENHO DOS PROTOCOLOS DE ROTEAMENTO AODV, DSDV, OLSR E DSR EM MANETS

COMPARAÇÃO DE DESEMPENHO DOS PROTOCOLOS DE ROTEAMENTO AODV, DSDV, OLSR E DSR EM MANETS COMPARAÇÃO DE DESEMPENHO DOS PROTOCOLOS DE ROTEAMENTO AODV, DSDV, OLSR E DSR EM MANETS Diego de Lima Nascimento 1, Fagner Roger Pereira Couto 1, Lucas Douglas Rothmund 1, Fahim Elias Costa Ribahne 2, Diógenes

Leia mais

Automatizando o Data Center

Automatizando o Data Center Este artigo examina uma arquitetura alternativa que suporte a automação do data center e o provisionamento dinâmico sem a virtualização do sistema operacional. por Lori MacVittie Gerente Técnico de Marketing,

Leia mais

Palavras-chave: aprovisionamento de recursos, redes da próxima geração, redes sensíveis ao contexto, Qualidade de Serviço.

Palavras-chave: aprovisionamento de recursos, redes da próxima geração, redes sensíveis ao contexto, Qualidade de Serviço. UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Título: PROPOSTA DE SOLUÇÃO PARA SOBRE-APROVISIONAMENTO DE RECURSOS SOBRE CAMINHOS HETEROGÊNEOS EM REDES SENSÍVEIS

Leia mais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Caracterização de Sistemas Distribuídos Coulouris, Dollimore and Kindberg. Distributed Systems: Concepts and

Leia mais

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS João Antônio Bezerra Rodrigues¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí

Leia mais

PEER DATA MANAGEMENT SYSTEM

PEER DATA MANAGEMENT SYSTEM PEER DATA MANAGEMENT SYSTEM INTRODUÇÃO, INFRA-ESTRUTURA E MAPEAMENTO DE ESQUEMAS AGENDA Data Management System Peer Data Management System P2P Infra-estrutura Funcionamento do PDMS Mapeamento de Esquemas

Leia mais

Coordenação Elias Procópio Duarte Jr Ronaldo Alves Ferreira

Coordenação Elias Procópio Duarte Jr Ronaldo Alves Ferreira Coordenação Elias Procópio Duarte Jr Ronaldo Alves Ferreira Organizadora José Augusto Suruagy Monteiro Lisandro Granville Zambenedetti Luciano Paschoal Gaspary Rossana Maria de Castro Andrade Avaliadora

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

Um arcabouço para gerenciamento automático de máquinas virtuais em CPDsbaseado em perfil

Um arcabouço para gerenciamento automático de máquinas virtuais em CPDsbaseado em perfil VIII WORKSHOP DE PÓS-GRADUAÇÃO E PESQUISA DO CENTRO PAULA SOUZA São Paulo, 9 e 10 de outubro de 2013 Sistemas produtivos: da inovação à sustentabilidade ISSN: 2175-1897 Um arcabouço para gerenciamento

Leia mais

Gerenciamento Integrado de QoS em Redes de Computadores

Gerenciamento Integrado de QoS em Redes de Computadores Gerenciamento Integrado de QoS em Redes de Computadores Lisandro Zambenedetti Granville, Liane Margarida R. Tarouco Instituto de Informática - Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal

Leia mais

DESEMPENHO DE REDES. Fundamentos de desempenho e otimização de redes. Prof. Ulisses Cotta Cavalca

DESEMPENHO DE REDES. Fundamentos de desempenho e otimização de redes. Prof. Ulisses Cotta Cavalca <ulisses.cotta@gmail.com> DESEMPENHO DE REDES Fundamentos de desempenho e otimização de redes Prof. Ulisses Cotta Cavalca Belo Horizonte/MG 2015 Sumário 1. Introdução 2. Gerência de redes 3. Fundamentos

Leia mais

Análise de Desempenho de um SGBD para Aglomerado de Computadores

Análise de Desempenho de um SGBD para Aglomerado de Computadores Análise de Desempenho de um SGBD para Aglomerado de Computadores Diego Luís Kreutz, Gabriela Jacques da Silva, Hélio Antônio Miranda da Silva, João Carlos Damasceno Lima Curso de Ciência da Computação

Leia mais

For-All - Uma Plataforma para Sistemas Pervasivos Orientados a Serviço

For-All - Uma Plataforma para Sistemas Pervasivos Orientados a Serviço For-All - Uma Plataforma para Sistemas Pervasivos Orientados a Serviço Elenilson Vieira da S. Filho 1, Ângelo L. Vidal de Negreiros 1, Alisson V. Brito 2 1 Departamento de Informática Universidade Federal

Leia mais

Consumo de Energia e Mobile Cloud

Consumo de Energia e Mobile Cloud Consumo de Energia e Mobile Cloud Uma Visão Geral sobre os Tópicos Abertos Rafael Roque de Souza www.ime.usp.br/ rroque/ Disciplina: MAC 0463/5743 - Computação Móvel Prof. Dr. Alfredo Goldman vel Lejbman

Leia mais

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br CLOUD COMPUTING Andrêza Leite andreza.leite@univasf.edu.br Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing

Leia mais

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

Bancos de Dados Móveis

Bancos de Dados Móveis Agenda Bancos de Dados Móveis Acadêmicas: Anete Terezinha Trasel Denise Veronez Introdução Banco de Dados Móveis (BDM) Projetos de BDM SGBD Móveis Conclusão Referências Bibliográficas Introdução Avanços

Leia mais

RUCA Rede Um Computador por Aluno. Liane Tarouco UFRGS

RUCA Rede Um Computador por Aluno. Liane Tarouco UFRGS RUCA Rede Um Computador por Aluno Liane Tarouco UFRGS Projeto Rede Um Computador por Aluno Coordenação: RNP Rede Nacional de Pesquisa Luiz Claudio Schara Magalhães - UFF Participantes: UFF UFPB UFAM UFRGS

Leia mais

1. Relato da Coordenação do Comitê de Organização Local do SBBD 2015, Prof. Fábio Porto (LNCC) e Prof. Eduardo Ogasawara (CEFET-RJ)

1. Relato da Coordenação do Comitê de Organização Local do SBBD 2015, Prof. Fábio Porto (LNCC) e Prof. Eduardo Ogasawara (CEFET-RJ) Ata da Reunião da Comissão Especial de Banco de Dados (CEBD) realizada durante o Simpósio Brasileiro de Banco de Dados (SBBD) 2015 na cidade do Petrópolis, RJ, Brasil A reunião da CEBD realizou-se no dia

Leia mais

ENGENHARIA DE SOFTWARE E COMPUTAÇÃO EM NUVEM COMO SERVIÇO

ENGENHARIA DE SOFTWARE E COMPUTAÇÃO EM NUVEM COMO SERVIÇO UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO 2015.2 ENGENHARIA DE SOFTWARE E COMPUTAÇÃO EM NUVEM COMO SERVIÇO Aluna: Marcela Pereira de Oliveira Orientador:

Leia mais

I Workhop Brasileiro de Tecnologias para Colaboração WCSCW

I Workhop Brasileiro de Tecnologias para Colaboração WCSCW I Workhop Brasileiro de Tecnologias para Colaboração WCSCW Realização: 13 e 14 de outubro em conjunto com o WebMídia-LA Web 2004 Ribeirão Preto - SP Organização do Workshop: Alberto Raposo PUC-Rio Flávia

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

Workshop INCT-MACC, HOSCAR e Casadinho CENAPAD-UFC: Missão, Serviços e Pesquisas. Rossana Andrade Carina Oliveira

Workshop INCT-MACC, HOSCAR e Casadinho CENAPAD-UFC: Missão, Serviços e Pesquisas. Rossana Andrade Carina Oliveira Workshop INCT-MACC, HOSCAR e Casadinho CENAPAD-UFC: Missão, Serviços e Pesquisas Rossana Andrade Carina Oliveira 02 de Dezembro, 2013 Fortaleza, Brasil Quem somos nós? CENAPAD-UFC: Centro Nacional de Processamento

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA QUALQUER TIPO DE USUÁRIO Gustavo Henrique Rodrigues Pinto Tomas 317624 AGENDA Introdução: Cloud Computing Modelos de Implementação Modelos de Serviço Eucalyptus

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

Classificação::Modelo de implantação

Classificação::Modelo de implantação Classificação::Modelo de implantação Modelo de implantação::privado Operada unicamente por uma organização; A infra-estrutura de nuvem é utilizada exclusivamente por uma organização: Nuvem local ou remota;

Leia mais

Cigré/Brasil. CE B5 Proteção e Automação. Seminário Interno de Preparação para o Colóquio do SC B5 2009

Cigré/Brasil. CE B5 Proteção e Automação. Seminário Interno de Preparação para o Colóquio do SC B5 2009 Cigré/Brasil CE B5 Proteção e Automação Seminário Interno de Preparação para o Colóquio do SC B5 2009 Rio de Janeiro, 15-16 de setembro de 2009 Dados do Artigo Número: PS1 107 Título: Client Conformance

Leia mais

Sincronização de bancos de dados distribuídos utilizando Snapshot Isolation

Sincronização de bancos de dados distribuídos utilizando Snapshot Isolation Sincronização de bancos de dados distribuídos utilizando Snapshot Isolation Fabricio Santos da Silva Universidade Federal do Paraná (UFPR) Departamento de Informática Curitiba Paraná Brazil fabricioss@inf.ufpr.br

Leia mais

Conferência de Digitação

Conferência de Digitação Programa: 4394P - Informática 22 Nome: CUDEN: Collaborative Centric User-Device Networking (Programa CAPES/STIC-AmSud - Edital DRI/CAPES no. 2/2) Ano Início: 2 Natureza: Outra Graduação: Especialização:

Leia mais

SISTEMA DISTRIBUÍDO DE MONITORAMENTO/DETERMINAÇÃO DE SERVIÇOS E RECURSOS DIPONÍVEIS DE UM AMBIENTE DE GRID COMPUTACIONAL

SISTEMA DISTRIBUÍDO DE MONITORAMENTO/DETERMINAÇÃO DE SERVIÇOS E RECURSOS DIPONÍVEIS DE UM AMBIENTE DE GRID COMPUTACIONAL SISTEMA DISTRIBUÍDO DE MONITORAMENTO/DETERMINAÇÃO DE SERVIÇOS E RECURSOS DIPONÍVEIS DE UM AMBIENTE DE GRID COMPUTACIONAL Thais Cabral de Mello, Bruno Schulze, Luis Rodrigo de Oliveira Gonçalves 1 Laboratório

Leia mais

Serviço de Segurança de Middlewares

Serviço de Segurança de Middlewares Serviço de Segurança de Middlewares Autor: Célio Domingues Gonçalves 1, Orientador: Prof. Dr. Luis Fernando Faina 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Uberlândia

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

REDES DE COMPUTADORES. Camada de Rede. Prof.: Agostinho S. Riofrio

REDES DE COMPUTADORES. Camada de Rede. Prof.: Agostinho S. Riofrio REDES DE COMPUTADORES Camada de Rede Prof.: Agostinho S. Riofrio Agenda 1. Introdução 2. Funções 3. Serviços oferecidos às Camadas superiores 4. Redes de Datagramas 5. Redes de Circuitos Virtuais 6. Comparação

Leia mais

IMPLANTAÇÃO DE UM AMBIENTE DE ALTA DISPONIBILIDADE DE REDE E MONITORAÇÃO DINÂMICA DE INFRAESTRUTURA EM SERVIDORES WEB.

IMPLANTAÇÃO DE UM AMBIENTE DE ALTA DISPONIBILIDADE DE REDE E MONITORAÇÃO DINÂMICA DE INFRAESTRUTURA EM SERVIDORES WEB. IMPLANTAÇÃO DE UM AMBIENTE DE ALTA DISPONIBILIDADE DE REDE E MONITORAÇÃO DINÂMICA DE INFRAESTRUTURA EM SERVIDORES WEB. Marllus de Melo Lustosa (bolsista do PIBIC/UFPI), Luiz Cláudio Demes da Mata Sousa

Leia mais

Sistema para diminuir a probabilidade de falhas nas conexões Internet e possibilitar controle de fluxo com base em hosts e aplicações

Sistema para diminuir a probabilidade de falhas nas conexões Internet e possibilitar controle de fluxo com base em hosts e aplicações Sistema para diminuir a probabilidade de falhas nas conexões Internet e possibilitar controle de fluxo com base em hosts e aplicações Marcelo Rios Kwecko 1, Raphael Lucas Moita 1, Jorge Guedes Silveira

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

Algoritmos Distribuídos para Roteamento em Redes Ad Hoc

Algoritmos Distribuídos para Roteamento em Redes Ad Hoc Algoritmos Distribuídos para Roteamento em Redes Ad Hoc Tiago Rodrigues Chaves, Ricardo Augusto Rabelo Oliveira PPGCC - Programa de Pós-Graduação em Ciência da Computação UFOP - Universidade Federal de

Leia mais

Implementação do Sistema Single-Sign-On em um Ambiente de Nuvem usando SimpleSAML

Implementação do Sistema Single-Sign-On em um Ambiente de Nuvem usando SimpleSAML Implementação do Sistema Single-Sign-On em um Ambiente de Nuvem usando SimpleSAML Jonathan Iury Araujo dos Santos, Luiz Aurélio Batista Neto, Higo Felipe Silva Pires, Zair Abdelouahab Universidade Federal

Leia mais

Trabalho de Mestrado

Trabalho de Mestrado Caracterização da carga de trabalho em sistemas de educação a distância Trabalho de Mestrado Janaína R. Penedo (Aluno),Morganna Diniz(Orientador) Programa de Pós-Graduação em Informática - PPGI 1 Universidade

Leia mais

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores Autor: Daniel Vieira de Souza 1, Orientador: Luís Fernando Faina 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade

Leia mais

Representando Características Autonômicas nos Processos de Negócio

Representando Características Autonômicas nos Processos de Negócio Representando Características Autonômicas nos Processos de Negócio Karolyne Oliveira, Tarcísio Pereira, Emanuel Santos, Jaelson Castro Universidade Federal de Pernambuco UFPE, Recife, PE 50 740-560, Brazil

Leia mais

Algoritmo Distribuído com abordagem em cache cooperativo

Algoritmo Distribuído com abordagem em cache cooperativo Algoritmo Distribuído com abordagem em cache cooperativo Pedro Paulo Simões Freitas, Ricardo Augusto Rabelo PPGCC - Programa de Pós-Graduação em Ciência da Computação UFOP - Universidade Federal de Ouro

Leia mais

SAPOTI: Servidores de Aplicações confiáveis Tcp/Ip

SAPOTI: Servidores de Aplicações confiáveis Tcp/Ip SAPOTI: Servidores de Aplicações confiáveis Tcp/Ip Egon Hilgenstieler, Roverli Pereira Ziwich, Emerson Fabiano Fontana Carara, Luis Carlos Erpen De Bona, Elias Procópio Duarte Jr. Universidade Federal

Leia mais

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores Camadas de Serviço de Hardware e Software em Sistemas Distribuídos Arquiteutra de Sistemas Distribuídos Introdução Applications, services Adaptação do conjunto de slides do livro Distributed Systems, Tanembaum,

Leia mais

CAPÍTULO 7 O SERVIÇO DOS AGENTES

CAPÍTULO 7 O SERVIÇO DOS AGENTES CAPÍTULO 7 O SERVIÇO DOS AGENTES A inteligência... é a capacidade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. ( Henri Bergson) O serviço dos agentes surge como uma prestação

Leia mais

Redes Definidas por Software

Redes Definidas por Software Redes de Computadores I Redes Definidas por Software Antonio Gonzalez Pastana Lobato Ulisses da Rocha Figueiredo Redes de Computadores I Introdução Introdução Aplicações Atuais Data-Centers Muitas máquinas

Leia mais

Automated Control in Cloud Computing: Challenges and Opportunities

Automated Control in Cloud Computing: Challenges and Opportunities Automated Control in Cloud Computing: Challenges and Opportunities Harold C. Lim¹, Shivnath Babu¹, Jeffrey S. Chase², Sujay S. Parekh² Duke University, NC, USA¹, IBM T.J. Watson Research Center² ACDC '09

Leia mais

10 th International Conference on Network and Service Management

10 th International Conference on Network and Service Management 1. Descrição do Evento A International Conference on (CNSM) é um evento internacional anual, sem fins lucrativos, organizado pela IFIP, IEEE Communications Society, IEEE Computer Society e ACM SIGCOMM

Leia mais

Tópicos Especiais em Redes de Telecomunicações

Tópicos Especiais em Redes de Telecomunicações Tópicos Especiais em Redes de Telecomunicações Redes definidas por software e Computação em Nuvem Prof. Rodrigo de Souza Couto PARTE 1 REDES DEFINIDAS POR SOFTWARE (SDN) 2 Bibliografia Esta aula é baseada

Leia mais

Acelere o valor da computação em nuvem com a IBM

Acelere o valor da computação em nuvem com a IBM Acelere o valor da computação em nuvem com a IBM Obtenha soluções em nuvem comprovadas para as suas prioridades mais urgentes Destaques da solução Saiba sobre os benefícios mais comuns de implementações

Leia mais

Proposta de Piloto. Grupo de Trabalho Segunda Fase. GT-CoLisEU: Grupo de Trabalho para Coleta e Análise de Experiência de Usuários

Proposta de Piloto. Grupo de Trabalho Segunda Fase. GT-CoLisEU: Grupo de Trabalho para Coleta e Análise de Experiência de Usuários Proposta de Piloto Grupo de Trabalho Segunda Fase GT-CoLisEU: Grupo de Trabalho para Coleta e Análise de Experiência de Usuários Cristiano Bonato Both (coordenador geral) Juergen Rochol (coordenador adjunto)

Leia mais

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 04: Comunicação Versão: 20 de março de 2014

Leia mais

Mediadores de Interação na Web: Acessibilidade Baseada em Gente

Mediadores de Interação na Web: Acessibilidade Baseada em Gente 1 Mediadores de Interação na Web: Acessibilidade Baseada em Gente Clarisse Sieckenius de Souza SERG - Semiotic Engineering Research Group Departamento de Informática, PUC-Rio clarisse@inf.puc-rio.br http://www.serg.inf.puc-rio.br

Leia mais

Mobile Learning para apoio ao ensino de Lógica Proposicional

Mobile Learning para apoio ao ensino de Lógica Proposicional Mobile Learning para apoio ao ensino de Lógica Proposicional Andrew Rabelo Ruiz 1 Programa de Iniciação Científica Graduação em Ciência da Computação 1 Faculdade Campo Limpo Paulista (FACCAMP) Rua Guatemala,

Leia mais

NanoDataCenters. Aline Kaori Takechi 317055

NanoDataCenters. Aline Kaori Takechi 317055 NanoDataCenters Aline Kaori Takechi 317055 INTRODUÇÃO Introdução Projeto Europeu: NICTA National ICT Australia FP7 7th Framework Program Rede formada por Home Gateways Objetivo: distribuir conteúdo Dispositivos

Leia mais

Descoberta de Domínio Conceitual de Páginas Web

Descoberta de Domínio Conceitual de Páginas Web paper:25 Descoberta de Domínio Conceitual de Páginas Web Aluno: Gleidson Antônio Cardoso da Silva gleidson.silva@posgrad.ufsc.br Orientadora: Carina Friedrich Dorneles dorneles@inf.ufsc.br Nível: Mestrado

Leia mais

Cloud Computing. Provendo valor ao negócio através da Gerência de Serviços Automatizada. Gerson Sakamoto gsakamoto@br.ibm.com

Cloud Computing. Provendo valor ao negócio através da Gerência de Serviços Automatizada. Gerson Sakamoto gsakamoto@br.ibm.com Cloud Computing Provendo valor ao negócio através da Gerência de Serviços Automatizada Gerson Sakamoto gsakamoto@br.ibm.com 1 Definição de Computação em Nuvem Computação em Nuvem é um novo modelo de aquisição

Leia mais

CEPE: Um Editor Cooperativo para Elicitar Processos

CEPE: Um Editor Cooperativo para Elicitar Processos CEPE: Um Editor Cooperativo para Elicitar Processos Rosa M. Freitas 1 rosamf@posgrad.nce.ufrj.br Lucimara G. Ribeiro 2 lucimararibeiro@yahoo.com.br Mário M. G. Ribeiro 2 marioufu@yahoo.com.br Marcos R.

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

REPLICAÇÃO E AUTO DISPONIBILIDADE NO SQL SERVER

REPLICAÇÃO E AUTO DISPONIBILIDADE NO SQL SERVER FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE FANESE NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO NPGE CURSO DE PÓS-GRADUAÇÃO LATO SENSU ESPECIALIZAÇÃO EM BANCO DE DADOS REPLICAÇÃO E AUTO DISPONIBILIDADE NO SQL

Leia mais

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RP1 - Relatório de detalhamento das atividades

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RP1 - Relatório de detalhamento das atividades GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos RP1 - Relatório de detalhamento das atividades Marcelo Akira Inuzuka Mário Augusto da Cruz Micael Oliveira Massula

Leia mais

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.

Leia mais

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Ricardo Terra 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Campus da Pampulha 31.270-010

Leia mais

The Eucalyptus Open-source Cloud-computing System

The Eucalyptus Open-source Cloud-computing System The Eucalyptus Open-source Cloud-computing System O sistema Open Source de nuvens computacionais Eucalyptus Daniel Nurmi, Rich Wolski, Chris Grzegorczyk, Graziano Obertelli, Sunil Soman, Lamia Youseff,

Leia mais

CS: : Um Simulador de Protocolos para Computação Móvel

CS: : Um Simulador de Protocolos para Computação Móvel MobiCS CS: : Um Simulador de Protocolos para Computação Móvel Daniel de Angelis Cordeiro Rodrigo Moreira Barbosa {danielc,rodbar}@ime.usp.br 7 de outubro de 2004 Motivação O desenvolvimento de aplicações

Leia mais

Alex D. Camargo, Érico M. H. Amaral, Leonardo B. Pinho

Alex D. Camargo, Érico M. H. Amaral, Leonardo B. Pinho COMISSÃO REGIONAL DE ALTO DESEMPENHO / RS ESCOLA REGIONAL DE ALTO DESEMPENHO / RS 15ª Edição - Abril / 2015 Framework open source simplificado para Cloud Computing Alex D. Camargo, Érico M. H. Amaral,

Leia mais

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática / Campus Global

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática / Campus Global Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática / Campus Global Sistema de Aproveitamento de Disciplinas da Faculdade de Informática da PUCRS: uma sistemática de gerência

Leia mais

Pesquisa e Formação de Recursos Humanos em Segurança da Informação PROF. DR. RAUL CERETTA NUNES UNIVERSIDADE FEDERAL DE SANTA MARIA

Pesquisa e Formação de Recursos Humanos em Segurança da Informação PROF. DR. RAUL CERETTA NUNES UNIVERSIDADE FEDERAL DE SANTA MARIA Pesquisa e Formação de Recursos Humanos em Segurança da Informação PROF. DR. RAUL CERETTA NUNES UNIVERSIDADE FEDERAL DE SANTA MARIA Sumário Formação em Nível Superior e sua Regulação Denominações de Cursos

Leia mais

Soluções para criar a sua própria nuvem

Soluções para criar a sua própria nuvem Soluções para criar a sua própria nuvem Maicon de Vargas Pereira 1 Faculdade de Tecnologia Senac Pelotas Rua Gonçalves Chaves, 602 Pelotas RS Brasil Caixa Postal 96.015-560 Curso Superior de Tecnologia

Leia mais