Sistemas Distribuídos Aula 15
|
|
|
- Osvaldo Coradelli Morais
- 10 Há anos
- Visualizações:
Transcrição
1 Sistemas Distribuídos Aula 15 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF
2 8. Tolerância a Falha Sistemas Distribuídos: Msc. Daniele C. Oliveira 2
3 Comunicação Confiável Cliente-Servidor Falhas não atingem somente processos, mas também a comunicação entre eles Um canal de comunicação pode exibir falhas por queda, omissão, temporização e arbitrárias Na prática, ao se construir canais de comunicação confiáveis, o foco está em mascarar falhas por queda e omissão Sistemas Distribuídos: Msc. Daniele C. Oliveira 3
4 Comunicação Confiável Cliente-Servidor Comunicação ponto-a-ponto Quando um middleware de comunicação não é usado, a comunicação confiável em um SD pode ser estabelecida com a utilização de um protocolo de transporte confiável ex. TCP TCP mascara falhas por omissão mensagens perdidas reconhecimentos e retransmissões Sistemas Distribuídos: Msc. Daniele C. Oliveira 4
5 Comunicação Confiável Cliente-Servidor Comunicação ponto-a-ponto Falhas por queda não são mascaradas: conexão TCP é interrompida abruptamente de modo que nenhuma msg possa ser transmitida pelo canal Um SD pode mascarar tal falha, tentando uma nova conexão, com o reenvio de uma requisição de conexão Sistemas Distribuídos: Msc. Daniele C. Oliveira 5
6 Comunicação Confiável Cliente-Servidor Utilizando Middleware de Comunicação: RPC Objetivo da RPC é ocultar comunicação fazendo chamadas de procedimentos remotos parecerem chamadas locais Quando erros ocorrem, é difícil mascarar a diferença entre chamadas locais e remotas Vamos considerar algumas categorias de erros e possíveis soluções Sistemas Distribuídos: Msc. Daniele C. Oliveira 6
7 Comunicação Confiável Cliente-Servidor Falhas em RPC 1. Cliente não consegue localizar o servidor 2. A mensagem de requisição do cliente para o servidor se perde 3. O servidor cai após receber uma requisição 4. A mensagem de resposta do servidor para o cliente se perde 5. O cliente cai após enviar uma requisição Sistemas Distribuídos: Msc. Daniele C. Oliveira 7
8 Comunicação Confiável Cliente-Servidor Cliente não consegue localizar o servidor Possíveis problemas: 1. Servidores podem ter caído 2. Cliente pode ter sido compilado usando uma versão de apêndice antiga Solução: Ativar uma exceção acarreta em perda da transparência Sistemas Distribuídos: Msc. Daniele C. Oliveira 8
9 Comunicação Confiável Cliente-Servidor Mensagens de requisição perdidas Solução: Temporizador de espera para a mensagem de resposta servidor deverá reconhecer a mensagem original da mensagem de retransmissão Sistemas Distribuídos: Msc. Daniele C. Oliveira 9
10 Comunicação Confiável Cliente-Servidor Quedas de servidor Sistemas Distribuídos: Msc. Daniele C. Oliveira 10
11 Comunicação Confiável Cliente-Servidor Sistemas Distribuídos: Msc. Daniele C. Oliveira 11
12 Comunicação Confiável Cliente-Servidor Mensagens de respostas perdidas Problema: cliente não sabe com certeza por que não houve reposta. Requisição ou reposta que se perdeu ou servidor está lento? No caso de requisição idempotente: operações que podem ser repetidas sem causar nenhum dano. e.x leitura de arquivos retransmissão pode ser feita sem problemas a consistência do SD Sistemas Distribuídos: Msc. Daniele C. Oliveira 12
13 Comunicação Confiável Cliente-Servidor Mensagens de respostas perdidas E no caso de requisições não idempotentes? 1. Estruturar todas as requisições como idempotentes 2. Abordagem TCP-like, onde o cliente designa um número de sequência a cada requisição servidor deve manter informações de cada cliente Sistemas Distribuídos: Msc. Daniele C. Oliveira 13
14 Comunicação Confiável de Grupo Comunicação Multicast: mensagens são entregues a um grupo de processos No entanto, a comunicação multicast é bem complicada! Sistemas Distribuídos: Msc. Daniele C. Oliveira 14
15 Comunicação Confiável de Grupo Camadas de Transporte oferecem comunicação ponto-a-ponto confiável (TCP) Raro oferecer comunicação confiável a um conjunto de processos Possível solução: Estabelecer comunicações ponto-a-ponto entre os processos Problema: Desperdício de largura de banda de rede Sistemas Distribuídos: Msc. Daniele C. Oliveira 15
16 Comunicação Confiável de Grupo O que é multicast confiável? Significa que uma mensagem enviada a um grupo de processos deve ser entregue a cada membro do grupo O que ocorre se durante a comunicação um processo se juntar ao grupo? O que ocorre se um processo sair deste grupo? Sistemas Distribuídos: Msc. Daniele C. Oliveira 16
17 Comunicação Confiável de Grupo Para apresentar soluções vamos considerar dois cenários: 1. Processos estão funcionando corretamente e o grupo é estático 2. Processos falham! Sistemas Distribuídos: Msc. Daniele C. Oliveira 17
18 Comunicação Confiável de Grupo Cenário 1 Processos não falham e não se juntam ao grupo nem saem dele enquanto a comunicação está em curso Multicast confiável Toda mensagem deve ser entregue a cada membro do grupo no momento em questão Sistemas Distribuídos: Msc. Daniele C. Oliveira 18
19 Comunicação Confiável de Grupo Suposições 1. Consideremos o caso em que um único remetente queira enviar uma mensagem multicast a vários receptores. E.x: Algoritmo de Berkeley para sincronizar os relógios 2. Rede de Comunicação não confiável: mensagem multicast pode se perder em algum ponto do caminho e ser entregue a alguns, mas não a todos os receptores Sistemas Distribuídos: Msc. Daniele C. Oliveira 19
20 Comunicação Confiável de Grupo Solução 1 Cenário 1 1. Processo remetente designa um número de sequência a cada mensagem multicast 2. Mensagens são recebidas na ordem 3. Cada mensagem multicast é armazenada no remetente, em um buffer 4. Mensagem é mantida até receptores confirmem o recebimento 5. Retransmissão Reconhecimento negativo ou Timeout Sistemas Distribuídos: Msc. Daniele C. Oliveira 20
21 Comunicação Confiável de Grupo Solução 1 Cenário 1 Sistemas Distribuídos: Msc. Daniele C. Oliveira 21
22 Comunicação Confiável de Grupo Solução 1 Cenário 1 Questões! 1. Como reduzir o número de mensagens retornadas ao remetente? 2. Como fazer a retransmissão? Ponto-a-ponto ou novamente multicast 3. E a escalabilidade? Caso com N receptores, o remetente deve estar preparado para aceitar no mínimo N reconhecimentos IMPLOSÃO DE RETORNO Sistemas Distribuídos: Msc. Daniele C. Oliveira 22
23 Comunicação Confiável de Grupo Solução 2 Cenário 1 1. Receptores enviam mensagem de retorno somente para informar ao remetente a FALTA de uma mensagem 2. Retornar somente reconhecimentos negativos melhora a escalabilidade [Towsley et al 1997], mas não garante que implosões de retorno nunca acontecerão 3. Problema: Remetente será forçado a manter uma mensagem em seu buffer de histórico para sempre timeout para retirada da msg pode levar ao caso onde uma requisição pode não ser efetivada! Sistemas Distribuídos: Msc. Daniele C. Oliveira 23
24 Comunicação Confiável de Grupo Solução 3 Cenário 1 [Floyd et al, 1997] 1. Objetivo principal: Reduzir mensagens de retorno (supressão de retorno) 2. Utiliza o protocolo de multicast confiável escalável (SRM) 3. Somente reconhecimentos negativos são devolvidos como realimentação. Aplicação decide como detectar a perda de uma mensagem 4. Ao reconhecer que está faltando uma mensagem, receptor envia o pedido da mensagem perdida, usando multicast, ao resto do grupo Sistemas Distribuídos: Msc. Daniele C. Oliveira 24
25 Comunicação Confiável de Grupo Solução 3 Cenário 1 [Floyd et al, 1997] 5. Utilizar realimentação multicast permite que um outro membro do grupo suprima seu reconhecimento (realimentação) Suponha que vários receptores tenham percebido a falta da msg m Cada um deles precisará retornar um reconhecimento negativo ao remetente S, para retransmissão de m Se considerarmos que as retransmissões são enviadas ao grupo, basta uma única mensagem de requisição para que o pedido de retransmissão chegue até S Sistemas Distribuídos: Msc. Daniele C. Oliveira 25
26 Comunicação Confiável de Grupo Solução 3 Cenário 1 [Floyd et al, 1997] 5. Utilizar realimentação multicast permite que um outro membro do grupo suprima seu reconhecimento (realimentação) Um receptor R que não recebeu a msg m escalona uma msg de realimentação com certo atraso aleatório A requisição para retransmissão não é enviada até passar algum tempo aleatório Se um requisição de m chegar a R, antes do timeout, R não enviará a msg de realimentação negativa Espera-se que somente uma msg de pedido de retransmissão de m chegue a S Sistemas Distribuídos: Msc. Daniele C. Oliveira 26
27 Comunicação Confiável de Grupo Solução 3 Cenário 1 [Floyd et al, 1997] Aprimoramento: Permitir que um receptor tenha o papel de transmitir uma mensagem m, mesmo antes de a requisição de retransmissão chegar ao remetente original Sistemas Distribuídos: Msc. Daniele C. Oliveira 27
28 Comunicação Confiável de Grupo Solução 3 Cenário 1 [Floyd et al, 1997] Problemas Garantir que somente uma requisição de retransmissão chegue ao remetente S temporizadores? Interrupção dos processos os quais a msg já foi entregue separar os processos que não receberam m em um grupo separado (Kasera et al 1997) gerenciamento dos grupos! Reunir os processos em grupos que tendem a perder mensagens (Lui et al 1998) Sistemas Distribuídos: Msc. Daniele C. Oliveira 28
29 Comunicação Confiável de Grupo Solução 4 Cenário 1 Controle de Realimentação Hierárquico Único remetente Grupo é dividido em sub-grupos, organizados em árvore Cada sub-grupo possui um coordenador que gerencia os pedidos de retransmissão O coordenador possui um buffer para armazenar as msgs para atender pedidos dos membros do seu sub-grupo Problema: Manutenção da árvore Sistemas Distribuídos: Msc. Daniele C. Oliveira 29
30 Comunicação Confiável de Grupo Sistemas Distribuídos: Msc. Daniele C. Oliveira 30
31 Multicast Atômico Cenário 2 Suposição: Processos podem falhar! Deve-se chegar a um acordo sobre a real composição do grupo! Objetivo: Uma msg será entregue a todos os processos ou a nenhum deles. Mensagens são entregues na mesma ordem a todos os processos Atomicidade! Sistemas Distribuídos: Msc. Daniele C. Oliveira 31
32 Multicast Atômico Exemplo: Banco de Dados replicado Banco de dados é construído como um grupo de processos, um processo para cada réplica Operações de atualização são enviadas em multicast a todas as réplicas (multicast confiável na entrega destas operações!) Suponha que durante a execução de uma das atualizações de uma sequência, uma réplica caia Sistemas Distribuídos: Msc. Daniele C. Oliveira 32
33 Multicast Atômico Exemplo: Banco de dados replicado Se o sistema NÃO suporta multicast atômico Problema!!!!!!!!!! Réplica se recupera: essencial que seja atualizada em relação as outras réplicas Quais operações estão faltando e em que ordem devem ser executadas???? Sistemas Distribuídos: Msc. Daniele C. Oliveira 33
34 Multicast Atômico Exemplo: Banco de dados replicado Se o sistema suporta multicast atômico A operação de atualização que foi enviada a todas as réplicas um pouco antes de uma delas cair ou é executada em todas as réplicas não faltosas ou em nenhuma A atualização é realizada se as réplicas restantes concordarem que a réplica que caiu não pertence mais ao grupo Após a recuperação, a réplica é validada como sendo do grupo e recebe as atualizações Sistemas Distribuídos: Msc. Daniele C. Oliveira 34
35 Multicast Atômico Exemplo: Banco de dados replicado Se o sistema suporta multicast atômico multicast atômico garante que processos não faltosos mantenham uma visão consistente do banco de dados e força a reconciliação quando uma réplica se recupera e se junta ao grupo novamente. Sistemas Distribuídos: Msc. Daniele C. Oliveira 35
36 Multicast Atômico Sincronia Virtual Como implementar? Sistema distribuído possui uma camada de comunicação, que gerencia o recebimento das mensagens em um buffer local, até que possa ser entregue à aplicação Sistemas Distribuídos: Msc. Daniele C. Oliveira 36
37 Multicast Atômico Sincronia Virtual Como implementar? Uma mensagem m está associada com uma lista de processos aos quais deve ser entregue Lista de entrega corresponde a uma visão do grupo (conjunto de processos no grupo) Todos os processos possuem a mesma visão, concordando que m deve ser entregue a cada um deles e a nenhum outro processo Sistemas Distribuídos: Msc. Daniele C. Oliveira 37
38 Multicast Atômico Sincronia Virtual Suponha que a mensagem m seja enviada em multicast no instante que seu remetente tem visão de grupo G Se um processo entra ou sai do grupo, ocorre uma mudança de visão Duas mensagens: m e a de entrada/saída do novo processo (vc) Garantir que todos os processos em G recebam m antes de vc, evitando inconsistência Sistemas Distribuídos: Msc. Daniele C. Oliveira 38
39 Multicast Atômico Sincronia Virtual Multicast confiável garante que uma mensagem enviada em multicast para a visão de grupo G seja entregue a cada processo não faltoso em G Se o remetente cair durante o multicast, a mensagem pode ou ser entregue a todos os processos restantes ou ser ignorada por cada um deles multicast virtualmente síncrono (Birman e Joseph, 1987) Mensagens multicast ocorrem entre mudanças de visão Uma mudança de visão é considerada uma barreira pela qual nenhum multicast pode passar! Sistemas Distribuídos: Msc. Daniele C. Oliveira 39
40 Multicast Atômico Sincronia Virtual Sistemas Distribuídos: Msc. Daniele C. Oliveira 40
41 Multicast Atômico Ordenação de mensagens Tipos de ordenação das mensagens Multicasts não ordenados Multicasts ordenados em Fifo Multicasts ordenados por causalidade Multicasts totalmente ordenados Sistemas Distribuídos: Msc. Daniele C. Oliveira 41
42 Multicast Atômico Ordenação de mensagens Multicast confiável não ordenado Não são dadas garantias quanto à ordem na qual as mensagens recebidas são entregues aos diferentes processos Sistemas Distribuídos: Msc. Daniele C. Oliveira 42
43 Multicast Atômico Ordenação de mensagens Multicast confiável ordenado em Fifo Camada de comunicação é forçada a entregar as mensagens que chegam do mesmo processo na mesma ordem em que elas foram enviadas Sistemas Distribuídos: Msc. Daniele C. Oliveira 43
44 Multicast Atômico Ordenação de mensagens Multicast confiável ordenado por causalidade Entrega de mensagens de modo que a potencial causalidade entre mensagens diferentes seja preservada Se m 1 precede uma outra mensagem m 2 por causalidade, independentemente de terem sido enviadas por processos diferentes, camada de aplicação sempre entregará m 2 após ter recebido e entregado m 1 Utilização de relógios vetoriais Sistemas Distribuídos: Msc. Daniele C. Oliveira 44
45 Multicast Atômico Ordenação de mensagens Multicast confiável com entrega totalmente ordenada Significa que as mensagens devem ser entregues na mesma ordem a todos os membros do grupo Entregas podem ser dos tipos não ordenada, ordenada em Fifo ou ordenada por causalidade Sistemas Distribuídos: Msc. Daniele C. Oliveira 45
46 Multicast Atômico Ordenação de mensagens Sistemas Distribuídos: Msc. Daniele C. Oliveira 46
47 Recuperação Essência: Quando ocorre uma falha no sistema, é necessário levar o sistema para um estado livre de erro Recuperação de um erro é fundamental em tolerância a falhas Sistemas Distribuídos: Msc. Daniele C. Oliveira 47
48 Estratégias para Recuperação Duas formas principais: Recuperação retroativa: Retorna o sistema a algum estado que antes estava correto, continuando a execução após a recuperação. Mecanismo de ponto de verificação (estado presente do sistema é registrado) Recuperação para frente: Tentativa de levar o sistema para um próximo estado correto. Sistemas Distribuídos: Msc. Daniele C. Oliveira 48
49 Estratégias para Recuperação 1. Recuperação retroativa: Comunicação multicast confiável retransmissão de pacote 2. Recuperação para frente: recuperação de pacotes a partir de outros pacotes (FEC) Sistemas Distribuídos: Msc. Daniele C. Oliveira 49
50 Estratégias para Recuperação Desvantagem da recuperação para frente: É preciso saber de antemão quais erros podem ocorrer. Tendo conhecimento de todos os erros e como levar o sistema para um estado correto, é possível recuperar totalmente o sistema. Sistemas Distribuídos: Msc. Daniele C. Oliveira 50
51 Estratégias para Recuperação Desvantagens da recuperação retroativa: 1. Pontos de validação podem ser caros para serem implementados 2. Não existem garantias que o erro não acontecerá novamente 3. Em alguns casos não é possível retroagir a um estado sem erros (ex. comando rm -rf *!!) Sistemas Distribuídos: Msc. Daniele C. Oliveira 51
52 Recuperação Retroativa e Registro de mensagens Ideia principal: Combinar pontos de verificação com o registro da sequência de mensagens recebidas 1. O processo receptor registra uma mensagem antes de entregá-la a aplicação (ou então, o emissor registra as msgs antes de enviá-las) 2. Quando um processo cai, o sistema é restaurado para o estado correspondente ao ponto de verificação mais recente e, a partir deste ponto, reproduz as mensagens recebidas Sistemas Distribuídos: Msc. Daniele C. Oliveira 52
53 Recuperação Retroativa e Registro de mensagens Qual a diferença entre utilizar apenas pontos de verificação e pontos de verificação + registro de mensagens? 1. No caso do uso isolado de pontos de verificação, os processos são restaurados para o ponto antes da falha e o comportamento pode ser diferente após a recuperação (ex. msgs podem ser entregues em ordenação diferente) 2. No caso do registro de mensagens, o comportamento é reproduzido do mesmo modo entre o ponto de recuperação e o ponto em que ocorreu a falha Sistemas Distribuídos: Msc. Daniele C. Oliveira 53
54 Pontos de Verificação A recuperação retroativa de erros requer que o sistema salve periodicamente seu estado em armazenamento estável Fotografia Distribuída: Registro de um estado global consistente Em uma fotografia distribuída, se um processo P tiver registrado o recebimento de uma mensagem, então também deve existir um processo Q que registrou o envio dessa mensagem Sistemas Distribuídos: Msc. Daniele C. Oliveira 54
55 Pontos de Verificação Em linhas gerais... Cada processo salva seu estado periodicamente em um armazenamento estável disponível localmente. A recuperação após uma falha de processo ou de sistema requer a construção de um estado global consistente com base nesses estados locais Melhor alternativa é recuperar a fotografia mais recente, denominada linha de recuperação mais recente conjunto consistente de pontos de verificação Sistemas Distribuídos: Msc. Daniele C. Oliveira 55
56 Pontos de Verificação Independentes Descobrir uma linha de recuperação requer que cada processo seja revertido a seu estado salvo mais recente Se, em conjunto, os estados locais não formam uma fotografia distribuída, é preciso reverter ainda mais para trás. O processo de reversão em cascata pode resultar no efeito dominó Sistemas Distribuídos: Msc. Daniele C. Oliveira 56
57 Pontos de Verificação Independentes Sistemas Distribuídos: Msc. Daniele C. Oliveira 57
58 Pontos de Verificação Coordenados Todos os processos sincronizam para escrever, em conjunto, seu estado para armazenamento local O estado salvo é globalmente consistente, evitando as reversões em cascata que levam ao efeito dominó Sistemas Distribuídos: Msc. Daniele C. Oliveira 58
59 Pontos de Verificação Coordenados Solução Simples: Usar protocolo de bloqueio de duas fases 1. Coordenador envia uma msg multicast CHECKPOINT_REQUEST a todos os processos 2. Quando o processo recebe esta mensagem, estabelece um ponto de verificação local e enfileira qualquer msg e envia uma mensagem de reconhecimento ao coordenador indicando que estabeleceu o ponto de verificação 3. Após receber todos os acks, coordenador envia msg multicast CHECKPOINT_DONE para desbloquear os processos Sistemas Distribuídos: Msc. Daniele C. Oliveira 59
60 Pontos de Verificação Coordenados Estado globalmente consistente: Não existirão mensagens que ultrapassem as linhas de recuperação, ou seja, a mensagens são tratadas entre os pontos de verificação Qualquer mensagem que vier após uma requisição para estabelecer um ponto de verificação não é considerada como parte do ponto de verificação local. Ao mesmo tempo, mensagens que estão saindo são enfileiradas no local até a mensagem CHECKPOINT_DONE ser recebida Sistemas Distribuídos: Msc. Daniele C. Oliveira 60
61 Fim da Aula 15. Sistemas Distribuídos: Msc. Daniele C. Oliveira 61
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Resiliência de Processos Comunicação Confiável Cliente-Servidor Capítulo 8 Resiliência de Processos Idéia Básica: Replicar processos em grupos,
Sistemas Distribuídos. Ricardo Ribeiro dos Santos [email protected]
Sistemas Distribuídos Ricardo Ribeiro dos Santos [email protected] Curso de Engenharia de Computação UCDB Novembro/2003 Tópicos Tolerância a falhas em comunicação em grupo Tolerância a falhas em comunicação
Sistemas Distribuídos Capítulo 8 - Aula 14
Sistemas Distribuídos Capítulo 8 - Aula 14 Aula Passada Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo Aula de hoje Comunicação Confiável Cliente-Servidor Comunicação
Sistemas Distribuídos Grupos
Sistemas Distribuídos Grupos Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Roteiro da Aula Definição de Grupos Tipos Atomicidade Ordenamento 3 RPC Comunicação entre Pares Cliente - Servidor
UNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
Sistemas Distribuídos
Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em
Sistemas Distribuídos Capítulo 8 - Aula 15
Sistemas Distribuídos Capítulo 8 - Aula 15 Aula de hoje Aula Passada Comunicação Confiável Cliente-Servidor Comunicação Confiável de Grupo Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual
Tópicos em Sistemas Distribuídos. Modelos de Comunicação
Tópicos em Sistemas Distribuídos Modelos de Comunicação Comunicação em SD Comunicação entre processos Sockets UDP/TCP Comunicação em grupo Broadcast Multicast Comunicação entre processos Conceitos básicos
MC714 - Sistemas Distribuídos. Leandro Villas
MC714 - Sistemas Distribuídos Aula de Hoje Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de Hoje Exclusão Mútua Algoritmos de Eleição Exclusão mútua Questão fundamental em SDs
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação Confiável de Grupo Capítulo 8 Comunicação Confiável de Grupo Camadas de Transporte oferecem comunicação ponto-a-ponto confiável (TCP)
Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
3. Comunicação em Sistemas Distribuídos
3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicação
Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)
Comunicação one-to-one Forma mais simples de comunicação entre processos point-to-point, ou unicast COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo Algumas aplicações comunicação entre grupos de processos
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Sistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre
Grupos de Processos (Comunicação Grupal)
Grupos de Processos (Comunicação Grupal) Roteiro Definição de Grupos Tipos (organização) de grupos Atomicidade Ordenação de mensagens 2 RPC Comunicação entre Pares (duas partes) Cliente - Servidor Comunicação
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação
Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II
Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II 1) Explicar os seguintes mecanismos e conceitos do protocolo TCP: 1. Slow Start O algoritmo
Sistemas Distribuídos RPC
Sistemas Distribuídos RPC Disciplina: Sistemas Distribuídos Prof.: Edmar Roberto Santana de Rezende Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de Tecnologias Pontifícia
Sistemas distribuídos:comunicação
M. G. Santos [email protected] Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.
Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento
Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento Professor Rene - UNIP 1 Revisão... Segmento A unidade de dados trocada entre as entidades de transporte é denominada
Sistemas Distribuídos Aula 10
Sistemas Distribuídos Aula 10 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Sincronização Comunicação
Sistemas Distribuídos. Coulouris Capítulo 4
Sistemas Distribuídos Coulouris Capítulo 4 Mensagens Para comunicar-se com outros processos, um processo envia uma MENSAGEM para um DESTINO; um outro processo nesse destino recebe a mensagem. As operações
Comunicação. Parte II
Comunicação Parte II Carlos Ferraz 2002 Tópicos Comunicação Cliente-Servidor RPC Comunicação de objetos distribuídos Comunicação em Grupo Transações Atômicas Comunicação Stream 2 Comunicação cliente-servidor
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível
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
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Sistemas Distribuídos e Redes de Sensores
Aula 5: abril de 2013 sobre nosso exemplo cliente-servidor servidor espera pedido e passa a tratá-lo e pedidos que cheguem durante tratamento? cliente envia pedido de leitura... pode ou não receber resposta?
ENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE. André Esteves nº3412 David Monteiro
ENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE André Esteves nº3412 David Monteiro INTRODUÇÃO É proposto uma arquitectura de servidor Web dividida que tolera perfeitamente tanto falhas na
Resumo. Introdução Classificação Fases Curiosidades
Tolerância à falha Resumo Introdução Classificação Fases Curiosidades Introdução Sistemas Tolerantes a Falhas são aqueles que possuem a capacidade de continuar provendo corretamente os seus serviços mesmo
Considerações no Projeto de Sistemas Cliente/Servidor
Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis
Sincronização. Sincronização de Relógios. Relógios Físicos
Sincronização Embora a comunicação entre processos seja essencial em Sistemas Distribuídos, a sincronização de processos é também muito importante. Por exemplo: o É importante que vários processos não
SISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Sistemas Distribuídos. Aleardo Manacero Jr.
Sistemas Distribuídos Aleardo Manacero Jr. Conteúdo Conceitos fundamentais Estratégias de controle: relógios e algoritmos de sincronismo Serviços: arquivos e memória Corba Processamento distribuído Sistemas
Ciência de Computadores Sistemas Distribuídos e Móveis
Ciência de Computadores Sistemas Distribuídos e Móveis Lista de Exercícios Data: 4 de Novembro de 2013 Questões sobre o capítulo 1, Tanenbaum & van Steen: Fundamentos 1) Explique o significado de transparência,
Sistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: [email protected] Mecanismos de Comunicação Voltando ao exemplo da calculadora... Rede local
Rede de Computadores
Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso
Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Dispositivos e recursos são compartilhados a todo momento: impressora, disco, arquivos,
Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005
Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005
Sistemas Distribuídos
Sistemas Distribuídos Aula 2 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Por que definir uma arquitetura?
Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br
Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a
Comunicação de Dados
UNISUL 2013 / 1 Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática 1 Comunicação de Dados Aula 6 Agenda Projeto da camada de enlace de dados Detecção e correção de erros Protocolos
Processos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo
Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante
Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos
Paradigmas em Sistemas Distribuídos Paradigmas em Sistemas Distribuídos Nomes e Endereçamento Troca de Mensagens Operações emota Comunicação em Grupo Time e Clocks Sincronismo Ordenação Coordenação Consistência
Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)
COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo Comunicação one-to-one Forma mais simples de comunicação entre processos point -to-point, ou unicast Algumas aplicações requerem comunicação envolvendo
Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica
Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA
MODELO CLIENTE SERVIDOR
SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;
Sistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Membership Grupos dinâmicos Membros entram e saem dos grupos Membros podem falhar (crash) Grupos são criados e destruídos em tempo
MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos
MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada
Sistemas Distribuídos
Sistemas Distribuídos Aula 3 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Processos Um processo
Mobilidade em Redes 802.11
Mobilidade em Redes 802.11 Prof. Rafael Guimarães Redes sem Fio Aula 14 Aula 14 Rafael Guimarães 1 / 37 Sumário Sumário 1 Motivação e Objetivos 2 O protocolo MAC 802.11 3 Quadro 802.11 4 802.11: Mobilidade
Arquitetura de Rede de Computadores
TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador
Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013
MC714 Sistemas Distribuídos 2 semestre, 2013 Virtualização - motivação Consolidação de servidores. Consolidação de aplicações. Sandboxing. Múltiplos ambientes de execução. Hardware virtual. Executar múltiplos
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Comunicação em Sistemas Distribuídos Sumário Modelo Cliente e Servidor Troca de Mensagens Remote Procedure Call Comunicação
Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010
Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Prof. Silvana Rossetto (DCC/IM/UFRJ) 1 13 de julho de 2010 Questões 1. Qual é a diferença fundamental entre um roteador
Arquitecturas Tolerantes a faltas em Sistemas Distribuídos
Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Replicação de Servidores Transacções Atómicas Protocolos de Replicação Replicação passiva vs. activa Replicação de máquinas de estados vs. Replicação
Sistemas Distribuídos
Sistemas Distribuídos Comunicação de Grupos Peer to Peer Comunicação de Grupos Modelos Anteriores - Comunicação envolvia somente duas partes. RPC não permite comunicação de um processo com vários outros
2 Controle de Congestionamento do TCP
2 Controle de Congestionamento do TCP 17 2 Controle de Congestionamento do TCP A principal causa de descarte de pacotes na rede é o congestionamento. Um estudo detalhado dos mecanismos de controle de congestionamento
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo [email protected]. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo [email protected] Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
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
Modelos Fundamentais. Carlos Ferraz. [email protected]
Modelos Fundamentais Carlos Ferraz [email protected] O que vimos até agora (I) História Anos 60-70: sistemas centralizados (caros!) Anos 80: computadores pessoais (acessórios caros e pouco aproveitáveis!
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência e Replicação Capítulo 7 Agenda Razões para Replicação Replicação como técnica de escalabilidade Modelos de Consistência centrados
TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.
Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor
Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do
Modelos de Arquiteturas. Prof. Andrêza Leite [email protected]
Modelos de Arquiteturas Prof. Andrêza Leite [email protected] Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas
4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?
Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer
Prof. Marcelo Machado Cunha www.marcelomachado.com [email protected]
Prof. Marcelo Machado Cunha www.marcelomachado.com [email protected] Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,
Redes de Computadores
Redes de Computadores Hardware de Rede Slide 1 Tipos de Redes segundo a Abrangência PAN (Personal Area Network): interconexão de equipamentos com distância máxima de 10m. LAN (Local Area Network) ou Rede
Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:
Comunicação em uma rede Ethernet A comunicação em uma rede local comutada ocorre de três formas: unicast, broadcast e multicast: -Unicast: Comunicação na qual um quadro é enviado de um host e endereçado
6 de Julho de 2015. Exercício 23 Para que servem portas na camada de transporte?
Lista de Exercícios Camada de Transporte GBC-056 Arquitetura de Redes de Computadores Bacharelado em Ciência da Computação Universidade Federal de Uberlândia 6 de Julho de 2015 Exercício 1 Para que serve
Programação Distribuída
Unidade 4 Programação Distribuída Transações Distribuídas O que são? São sistemas compostos por diversas partes cooperantes que são executadas em máquinas diferentes interconectadas por uma rede Exemplos
ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa
ELEMENTOS DE PROTOCOLOS DE TRANSPORTE Fabricio Sousa Elementos de protocolos de transporte 2 Serviço de transporte implementado por um protocolo de transporte usado entre duas entidades de transporte Em
Capítulo 4 - Roteamento e Roteadores
Capítulo 4 - Roteamento e Roteadores 4.1 - Roteamento Roteamento é a escolha do módulo do nó de origem ao nó de destino por onde as mensagens devem transitar. Na comutação de circuito, nas mensagens ou
Protocolos Hierárquicos
Protocolos Hierárquicos O que é a Internet? Milhões de elementos de computação interligados: hospedeiros = sistemas finais Executando aplicações distribuídas Enlaces de comunicação fibra, cobre, rádio,
Redes de Computadores
Redes de Computadores Redes de Computadores Redes de Computadores 2 1 Responsável pela movimentação dos dados, de maneira eficiente e confiável, entre processos (usuários) em execução nos equipamentos
Bancos de Dados III. Replicação de Dados. Rogério Costa [email protected]. Replicação
Bancos de Dados III Replicação de Dados Rogério Costa [email protected] 1 Replicação Processo de criar e manter réplicas de versões dos objetos da base de dados (como tabelas) em um ambiente de banco
Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais
Comunicação Inter-Processos Conceitos Iniciais 1 Características para Comunicação Inter-Processos. Passagem de Mensagem pode ser suportada por duas operações de comunicação (send e receive). A comunicação
TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente
Arquitetura e Organização de Computadores I
Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções
Sistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Sistemas Distribuídos e Paralelos
Sistemas Distribuídos e Paralelos Tolerância a Falhas Ricardo Mendão Silva Universidade Autónoma de Lisboa [email protected] January 14, 2015 Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos
Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento
Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Professor Rene - UNIP 1 Roteamento Dinâmico Perspectiva e histórico Os protocolos de roteamento dinâmico são usados
Como medir a velocidade da Internet?
Link Original: http://www.techtudo.com.br/artigos/noticia/2012/05/como-medir-velocidade-da-suainternet.html Como medir a velocidade da Internet? Pedro Pisa Para o TechTudo O Velocímetro TechTudo é uma
Prefixo a ser comparado Interface 1 0 10 1 111 2 Senão 3
PEL/FEN Redes de Computadores 015/1 Segunda Lista de Exercícios Prof. Marcelo Gonçalves Rubinstein 1) Descreva os principais serviços providos pela camada rede. ) Cite as diferenças entre datagrama e circuito
? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.
? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER
Projeto de Sistemas Distribuídos. Prof. Andrêza Leite [email protected]
Projeto de Sistemas Distribuídos Prof. Andrêza Leite [email protected] Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação
Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Teleprocessamento e Redes
Teleprocessamento e Redes Aula 19: 29 de junho de 2010 1 camada de transporte camada de rede 2 Questão 1 (Kurose/Ross) camada de transporte camada de rede Um processo em um host C tem um socket UDP com
