Roteiro. Gerenciamento de Grupo na Plataforma ISIS. Trabalho Relacionado. Algoritmo ISIS. Trabalho Relacionado Algoritmo de Gerenc.



Documentos relacionados
Grupos de Processos (Comunicação Grupal)

Sistemas Distribuídos Grupos

Modelo - Hardware. Página - 1/18. PUC-Rio Características da Distribuição. Sérgio Côrtes scortes@inf.puc-rio.br

Componentes em Esquema de Tolerância a Faltas Adaptativa

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

EMENDAS AO PLDO : 2/ REGRAS E PROCEDIMENTOS IMPLEMENTADOS NO SISTEMA DE EMENDAS

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Auditoria de Sistemas de Informação. Everson Santos Araujo

Sistemas Distribuídos Aula 15

Exclusão Mútua e Eleição

Diretrizes de Qualidade de Projetos

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

-CAPÍTULO I ESTRUTURA DE GERENCIAMENTO DE RISCO

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

Sistema Integrado de Gestão da Assistência à Saúde SIGA-Saúde

Política Gestão de Configuração e Mudança

Divisão e Conquista. Túlio Toffolo Marco Antônio Carvalho marco.opt@gmail.com. BCC402 Aula 08 Algoritmos e Programação Avançada

ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA

Information Technology Infrastructure Library. Breno Torres Bruno Ferys Denio Brasileiro Pedro Araújo Pedro Lucena

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Manual de instalação, configuração e utilização do Enviador XML

Memória cache. Prof. Francisco Adelton

É importante que nos atenhamos a alguns aspectos importantes sobre banco de dados:

ADMINISTRAÇÃO E SERVIÇOS DE REDE

TCC TP02-USB Cabo de Programação USB para PLC WEG TP02 Manual de Instalação

Fila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados

PROGRAMA DE GERENCIAMENTO DE SEGURANÇA

Integração de livros fiscais com o Microsoft Dynamics AX 2009

Análise de Pontos de Função. Por Denize Terra Pimenta

Aumente o valor do ciclo de vida de cada cliente

MODERNIZAÇÃO DO SISTEMA DE CÂMBIO &

G E S T Ã O POR P R O Ç E S S O S MÉTODOS PROCESSOS. Organização, Sistemas, Métodos & Processos ORGANIZAÇÃ0 SISTEMAS

DESENVOLVIMENTO DE SOFTWARE

GOVERNO DO ESTADO DE MINAS GERAIS Secretaria de Estado de Meio Ambiente e Desenvolvimento Sustentável. Formulário referente ao Fator de Qualidade

Gerenciamento de Requisitos Gerenciamento de Requisitos

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Requisitos de Sistemas

1. Configuração Configuração de eventos Pesquisa de eventos Códigos Dados para configuração

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API

Neste tópico, veremos como selecionar e copiar informações entre bancos de dados de empresa no SAP Business One.

Ação Corretiva ação tomada para garantir que a não-conformidade real ou reclamação de cliente procedente volte a se manifestar.

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

CBCS -Seminário Riscos e Responsabilidades Ambientais na Construção: a Segurança Jurídica em Gestão e Práticas Sustentáveis

A nova funcionalidade tem a finalidade de gerenciar o Plano de Cuidados de cada

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Gerência de Memória. Paginação

Dimensão Mudanças Climáticas

GESTÃO AMBIENTAL PROGRAMA DE CONTROLE DE SUBSTÂNCIAS NOCIVAS 1 - OBJETIVO

Segurança da Informação e Proteção ao Conhecimento. Douglas Farias Cordeiro

MC714 - Sistemas Distribuídos. Leandro Villas

Métodos Computacionais. Fila

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

2005 IAC MINISTÉRIO DA DEFESA COMANDO DA AERONÁUTICA DEPARTAMENTO DE AVIAÇÃO CIVIL

Boletim Técnico. Para isto deverão ser cadastrados os Mapas de Rateio que serão utilizados no Processo de Execução do Rateio Gerencial.

Estoque. Como controlar o estoque

Tutorial de uso da Planilha via Web

Abordagens. Ao redor do computador. Ao redor do computador. Auditoria de Sistemas de Informação. Everson Santos Araujo

Engenharia de Software Aula 8 (Versão )

PROJETO DE REDES

CASO DE ESTUDO SOBRE SIG

Exame de Fundamentos da ITIL

REGULAMENTO PROJETO SERVIÇOS E CIDADANIA

Aula anterior... Definição do algoritmo (continuação)

Para cadastrar uma nova conta, clique sobre o botão preencha os campos habilitados.

Eduardo Bezerra. Editora Campus/Elsevier

SIMPROS /01/2008. VIII Simpósio Internacional de Melhoria de Processo de Software. Análise da Correlação entre Métricas de Tamanho, Apoio:

Manual de Instruções Gerais (MIG) Risco Operacional

Resumo de alterações da versão 2.0 para a 3.0 do PA-DSS

Sistemas Distribuídos e Tolerância a Falhas

DIAGRAMA DE ATIVIDADES

Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador

Considerando a necessidade de promover o efetivo acompanhamento dos contratos de materiais e serviços no âmbito da Administração Pública Estadual;

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Gerenciamento de Requisitos

exatasfepi.com.br Banco de Dados André Luís Duarte Capítulo até aqui nos ajudou o Senhor (1Sm 7:12)

LONWORKS VISÃO DO PROTOCOLO DE COMUNICAÇÃO

DIRETORIA COMERCIAL PLANO DE OCUPAÇÃO DA INFRAESTRUTURA DA COELCE

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de A linguagem C

ÍNDICE. Delphi... 3 CAPÍTULO 1 INTRODUÇÃO CAPÍTULO 2 INSTALANDO O DELPHI... 10

Qualidade de Software

Módulo 5. Implementação do BSC para um negócio específico, definição de objetivos, apresentação de casos reais e exercícios

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Manual Rápido de Registro e Configuração do DJPDV

Desenvolvimento de Marcas Fortes. Criação de Brand Equity

Endomarketing Estratégias de comunicação interna no fortalecimento de equipes. Projeto interno Comunicação e marketing.

Transcrição:

Roteiro Gerenciamento de Grupo na Plataforma ISIS Apresentado por Antônio Carlos Theóphilo Costa Júnior Trabalho Relacionado Algoritmo de Gerenc. de Grupo ISIS Aspectos Gerais Características Vantagens Código Características Trabalho Relacionado Algoritmo Transis Vantagens Solução Elegante Geral Desvantagens Requer multicast em cada membro Depende do suporte dado pelo algoritmo Trans Algoritmo ISIS Proposto por Aleta Ricciardi e Kenneth Birman para realizar o Gerenciamento de Grupos na Plataforma ISIS. Projetado para ambientes de comunicação pontoa-ponto. Vantagens: Mais eficiente em ambientes aonde o multicast é implementado com mensagens ponto-a-ponto; Pode ser usado em ambientes sem multicast.

Algoritmo ISIS Características Gerais Paranóico Unidirecional (one-way) Fofoqueiro (gossipy) Supõe canais ponto-a-ponto confiáveis e FIFO Descarta mensagens de processos considerados faltosos Conceitos Coordenador Participante Reconfiguração Algoritmo ISIS Variáveis Utilizadas Abreviações L = Visão atual do grupo version = Versão de L change = Última mudança proposta a L rank = Nível do coordenador q propôs a mudança faulty = Lista de processos suspeitos remotestate[1..m] = Estados dos participantes remotestate[i].l = Visão do grupo por i remotestate[i].version = Versão da visão remotestate[i].rank = Nível do coordenador q implantou a visão remotestate[i].change = Mudança proposta por i send(dest, action, params) send(dest, action, params, faulty) action(sender, params) {código action(sender, params, remfaulty) faulty = faulty U remfaulty {código

Abreviações Operação Normal - Coordenador distribute(action; params) returnaction(sender; params) {código para cada p em {L - faulty send(p, action, params) //time-out de T segundos returnaction(sender, params) {código para cada p em {L - faulty que não respondeu faulty = faulty U {p normalcoordinator() { while (true) { espere até a ocorrência de uma mudança na visão do grupo distribute(coord_uddate; change, version + 1) CU_ACK(sender, version) version++ realiza as mudanças em L descritas em change distribute(cu_commit) CC_ACK(sender) Operação Normal - Participante normalparticipant() { while(true) { espere por uma msg do coordenador COORD_UPDATE(coordinator; chg, vrs): change = chg next_version = vrs rank = rank(coordinator) send(coordenador; CU_ACK) CU_COMMIT(coordinator): realizar a mudança descrita em change para L version = next_version change = { send(coordinator; CC_ACK) Reconfiguração Coordenador (1) reconfigurecoordinator() { mystate = (L, version, rank, {) distribute(interrogate; mystate) INT_RESPONSE(sender; rstate) remotestate[sender] = rstate ahead = {p p in L and remotestate[p].version > version current = {p p in L and remotestate[p].version = version

Reconfiguração Coordenador (2) if (ahead!= {) //existe uma visao mais atualizada comitada //deve-se propo-la else if (para todo p em current remotestate[p].change = {) //não existem mudancas comitadas else if (existe um valor p/ remotestate[p].change!={ em current) //uma proposta foi feita. Ela pode ter sido comitada. //Deve ser proposta else //existem propostas competindo para uma mudanca. A proposta proposta pelo reconfigurador com o menor rank e a unica q pode ter sido comitada Reconfiguração Coordenador (3) distribute(reord_update; change, nextversion) RU_ACK(sender) atualize L com change coordinator = self change = futureproposal executar o normalcoordinator Detalhamento (1) Detalhamento (2) //existe uma visao mais atualizada comitada //deve-se propo-la if(ahead!= {) change = remotestate[p].l para um p em ahead nextversion = version + 1 futureproposal = remotestate[p].change para um p em ahead tal que remotestate[p].rank seja minimo //não existem mudancas comitadas else if(remotestate[p].change = { p/ qq p em current) change = faulty //pelo menos o antigo coordenador nextversion = version +1 futureproposal = faulty

Detalhamento (3) Detalhamento (4) //uma proposta foi feita. Ela pode ter sido comitada. //Deve ser proposta else if(existe um unico valor!= { de remotestate[p].change para um p em current) change = remotestate[p].change para um p em current tal que change!= { nextversion = version +1 futureproposal = faulty //existem propostas competindo para uma mudanca. A proposta proposta pelo reconfigurador com o menor rank e a unica q pode ter sido comitada else() change = remotestate[p].change para um p em current tal que remotestate[p].rank seja minimo nextversion = version +1 futureproposal = faulty Reconfiguração Participante (1) reconfigureparticipant() { espere por uma msg INTERROGATE INTERROGATE(sender; sdrl, sdrversion, sdrrank, sdrchange) if(rank(self)>sdrrank) crash() if(version<sdrversion) L = sdrl version = sdrversion rank = sdrrank change = { send(sender, INT_RESPONSE; L, version, rank, change) espere T segundos por REORD_UPDATE REORD_UPDATE(sender; nextchange, nextversion) se não tiver havido resposta adicione sender a faulty e saia do procedimento Reconfiguração Participante (2) change = nextchange rank = ranksender send(sender; RU_ACK) espere T segundos por REORD_COMMIT REORD_COMMIT se não tiver havido resposta adicione sender a faulty e saia do procedimento se nextversion > version realize em L a mudança descrita em change version = nextversion coordinator = sender send(coordinator, RC_ACK)

Características (1) Características (2) coord p1 p2 r p p1 p2 p3 r update(x+1) commit(x+1) Um reconfigurador vê no máximo uma visão comitada de versão x+1 commit(x+1) Reconfiguradores competindo para instalar versões conflitantes r falhou update(x+2) p falhou interrogate/ update/ commit r falhou update(x+2) crash() commit(x+2) interrogate Resumo Vantagens Algoritmo ideal para ambientes de comunicação em grupo sem suporte nativo a multicast Útil em ambientes de grupo sem multicast Consistência mantida mesmo na presença simultânea de múltiplos coordenadores Desvantagens Complexidade Paranóia FIM Críticas/Dúvidas