Tópicos em Sistemas Distribuídos. Modelos de Comunicação



Documentos relacionados

UNIVERSIDADE. Sistemas Distribuídos

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais

Sistemas Distribuídos. Coulouris Capítulo 4

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Redes de Computadores

Sistemas Distribuídos Grupos

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos

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

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

Sistemas Distribuídos

Sistemas distribuídos:comunicação

Redes de Computadores. Camada de Transporte de Dados: protocolos TCP e UDP Prof. MSc Hugo Vieira L. Souza

6 de Julho de Exercício 23 Para que servem portas na camada de transporte?

Considerações no Projeto de Sistemas Cliente/Servidor

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

CAMADA DE TRANSPORTE

3. Comunicação em Sistemas Distribuídos

Capítulo 7 CAMADA DE TRANSPORTE

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

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Redes de Computadores

Comunicação. Parte II

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

SISTEMAS DISTRIBUIDOS

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

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

Grupos de Processos (Comunicação Grupal)

Camada de transporte. Camada de transporte

REDES DE COMPUTADORES

Sistemas Distribuídos Aula 15

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Camada de Transporte

Introdução à Redes de Computadores

Sistemas Distribuídos

Sockets. Bruno Guimarães Lucas Rossini

Redes de computadores e a Internet. Capítulo 3. Camada de transporte

Redes de Computadores. Camada de Transporte

Redes de Computadores II

REDES DE COMPUTADORES

Capítulo 7 CAMADA DE TRANSPORTE

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Rede de Computadores

MÓDULO 8 Modelo de Referência TCP/IP

Aula 03 Regras de Segmentação e Switches

Redes de Computadores

Sistemas Distribuídos

Sistemas Distribuídos Comunicação. Edeyson Andrade Gomes

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

Redes. Pablo Rodriguez de Almeida Gross

Características Carlos Ferraz

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

Organização de Computadores 1

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de Página

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Prof. Manuel A Rendón M

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Modelos Fundamentais. Carlos Ferraz.

Sistemas Distribuídos Aula 10

Sistemas Distribuídos. Introdução

Distributed Systems Principles and Paradigms

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Paradigma Cliente/Servidor

MODELO CLIENTE SERVIDOR

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Sistemas Distribuídos. Aleardo Manacero Jr.

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

Camada de Transporte TCP/IP e Aplicação

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Programação de Sistemas

Programação de Sistemas


Arquitetura de Sistemas Operativos

Comunicação entre Processos

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010


Curso de especialização em Teleinformática Disciplina Sistemas Distribuídos Prof. Tacla

Sistemas Distribuídos

Camada de Transporte, protocolos TCP e UDP

A Camada de Transporte

Módulo 8 Ethernet Switching

Redes de Computadores

Protocolos Hierárquicos

Padrões Arquiteturais. Sistemas Distribuídos: Broker

ESTUDOS REALIZADOS. Camada Física. Redes de Computadores AULA 13 CAMADA DE REDE. Camada Física Camada de Enlace Subcamada de Acesso ao Meio AGORA:

Redes de Computadores

Redes de Computadores. Trabalho de Laboratório Nº7

Transcriçã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 troca de mensagens (send e receive) comunicação síncrona e assíncrona (bloqueante e não bloqueante) endereçamento (endereço + porta) confiabilidade comunicação confiável validade: garantia de entrega integridade: mensagens não corrompidas, sem duplicação ordenação algumas aplicações tratam mensagens recebidas fora de ordem como falha

Sockets abstração em nível de aplicação define um canal de comunicação entre processos localização dos processos endereço (IP) + porta (processo) protocolos UDP e TCP

UDP utiliza datagramas não utiliza acks ou retransmissões para garantir a entrega de mensagens operação receive: mensagem + identificação do emissor. características: tamanho das mensagens: 64 kbytes (utilizado 8 kbytes) send não bloqueante e receive bloqueante permite utilizar timeouts para tratar falhas receive from any não existe conexão com um único processo

UDP Modelo de falhas o checksum garante a integridade das mensagens mensagens podem ser perdidas durante a transmissão não é garantida a ordenação das mensagens Vantagens do protocolo UDP baixo overhead não há necessidade de armazenamento de informações sobre fonte e destino Ex. DNS

TCP canal de comunicação onde os dados podem ser lidos ou escritos (stream de bytes) principais características tamanho das mensagens: qualquer tamanho (a quebra de mensagens é tratada internamente) garantia de entrega de mensagens: utilização de acks (janela deslizante) controle de fluxo: velocidade de leitura do receptor e escrita do emissor (pode bloquear o emissor) trata duplicação de mensagens e ordenação: associa identificadores a cada pacote IP troca de mensagens: é estabelecida uma conexão entre dois processos

TCP Comunicação usando streams de bytes é necessário a concordância entre os processos em relação aos tipos e ordem dos dados enviados utiliza controle de fluxo evitando o descarte de mensagens (estouro do buffer de recebimento) para cada nova conexão é utilizada uma thread para tratar o cliente permitindo a concorrência de processos pode ser utilizada multiplexação (função select() do UNIX) Modelo de falhas: checksums, números de seqüência, uso de timeouts e retransmissões conexão quebrada (broken): não é possível verificar se houve falha na rede ou no processo; não é possível afirmar se as mensagens foram ou não enviadas

Questões Quais são os problemas no desenvolvimento de sistemas distribuídos usando sockets TCP ou UDP? Considere fatores como: Heterogeneidade, flexibilidade, tolerância a falhas, etc Como estes problemas podem ser tratados?

Comunicação em grupo Comunicação de um processo com um grupo de processos (por exemplo, um serviço gerenciado por diversos servidores) usar comunicação ponto a ponto: INEFICIENTE! solução: comunicação em grupo O processo emissor tem conhecimento somente sobre o grupo, mas não sobre cada participante do grupo. (transparência)

Utilização em S.D. Serviço replicado (tolerância a falhas) o cliente envia uma única requisição para o grupo de servidores que implementam o mesmo serviço de forma replicada Descoberta de servidores utilizados pelos servidores para registrar um serviço e pelos clientes para achar um serviço

Utilização em S.D. Replicação de dados (melhor desempenho) a obtenção de dados localizados em servidores replicados permite um melhor desempenho (servidor mais próximo ou menos sobrecarregado responde) Propagação de eventos (notificação) a mensagem é enviada ao grupo para dizer que algum evento ocorreu (por exemplo, informar um grupo de usuários sobre uma nova mensagem postada em um newsgroup)

Características Dinamicidade criação e destruição de grupos entrada e saída de processos de um grupo Multiplicidade processo pode fazer parte de diversos grupos simultaneamente Abstração e transparência os processos se comunicam com o grupo, e não com diversos processos Implementação depende do HW multicast, broadcast

Características Grupos abertos / grupos fechados permitir / proibir que um processo não pertencente ao grupo envie uma mensagem para o grupo acesso a servidores replicados / computação paralela para resolver um problema Grupos peer / grupos hierárquicos decisões coletivas / existe uma hierarquia de processos simétrico sem ponto único de falha / ponto único de falhas (coordenador) tomada de decisão mais complexa / coordenador decide pelo grupo

Características Gerência do grupo servidor centralizado / distribuído operações criação / destruição de grupo inserção / remoção de processo tratar a queda de processos (sem mensagem de remoção!) períodos de comunicação e configuração

Características Confiabilidade Atomic: a mensagem é recebida por todos os processos, ou por nenhum processo Reliable: é feito o possível para enviar a mensagem para todos os processos, mas isto não é garantido Unreliable: é enviada somente uma mensagem sem garantia de recebimento

Características Ordenação (Atomic, Reliable) Ordenação absoluta: as mensagens são recebidas na mesma ordem em que foram enviadas. Ordenação consistente: a ordem de recebimento das mensagens é a mesma para todos os participantes do grupo, mesmo se não for a ordem de envio. Ordenação de causa: se o envio de uma mensagem causa o envio de outra mensagem, então as mensagens são enviadas aos participantes do grupo na mesma ordem.

Questões Quando utilizar comunicação em grupo? Cite um exemplo. Qual a diferença entre Broadcast e Multicast? Em que casos podemos usar um ou outro? Diferencie confiabilidade atomic, reliable e unreliable. Diferencie ordenação absoluta, consistente e de causa.