SlideShare uma empresa Scribd logo
1 de 27
Modelos de Comunicação em SD
1
Modelos de Comunicação em
Sistemas Distribuídos
Módulo 3
Alcides Calsavara
Modelos de Comunicação em SD
2
Conteúdo
 Elementos básicos de comunicação
 Transmissão de dados
 Endereçamento
 Sincronismo
 Enfileiramento (Bufferização)
 Confiabilidade
 Comunicação cliente-servidor
 Comunicação em grupo
 Chamada remota de procedimento
Modelos de Comunicação em SD
3
Comunicação cliente-servidor
Cliente
Núcleo Núcleo
Rede
Requisição
Resposta
Servidor
Requisição/Resposta
1
2
3
4
5
6
7
Enlace
Físico
Modelos de Comunicação em SD
4
Transmissão de dados
 Dados em programas são estruturados
enquanto que mensagens carregam
informação sequencial:
» Linearização/Restauração de dados
 Heterogeneidade na representação de dados
em computadores:
» Uso de um formato externo comum
» Inclusão de uma identificação de
arquitetura na mensagem
Modelos de Comunicação em SD
5
Marshalling/Unmarshalling
 Marshalling:
 Linearização de uma coleção de itens de
dados estruturados
 Tradução dos dados em formato externo
 Unmarshalling:
 Tradução do formato externo para o local
 Restauração dos itens de dados de acordo
com sua estrutura
Modelos de Comunicação em SD
6
Endereçamento
 Esquemas:
 Endereçamento máquina.processo
 Endereçamento máquina.id-local
 Descoberta de endereço via broadcasting
(difusão)
 Descoberta de endereço via um servidor
de nomes
 Problemas potenciais: transparência de
localização, sobrecarga, escalabilidade
Modelos de Comunicação em SD
7
Comunicação síncrona
 Primitiva send é bloqueante: processo cliente
aguarda enquanto o núcleo envia a
mensagem para o processo servidor.
 Primitiva receive é bloqueante: processo
servidor aguarda até que o núcleo receba
uma mensagem endereçada para aquele
processo.
Modelos de Comunicação em SD
8
Comunicação assíncrona
 Primitiva send não é bloqueante: o processo
cliente aguarda somente enquanto a
mensagem é copiada para o buffer do
núcleo.
 Primitiva receive pode ser:
 bloqueante: o processo servidor aguarda
por uma mensagem.
 não bloqueante: o processo servidor
simplesmente comunica o núcleo que
espera receber uma mensagem.
Modelos de Comunicação em SD
9
Enfileiramento
 Situações:
 Send ocorre antes de Receive
 Um cliente faz um Send enquanto o
servidor ainda atende a outro cliente
 Solução trivial: clientes devem insistir ...
 Solução pragmática: mailbox (uma fila de
mensagens controlada pelo núcleo):
 mailbox criado a pedido do servidor
 mensagens endereçadas ao mailbox
Modelos de Comunicação em SD
10
Confiabilidade
 Mensagens se perdem, atrasam, duplicam.
 Abordagens:
 Send tem semântica não confiável: as
aplicações devem garantir entrega de
mensagens (ex: timeout)
 Mensagem de acknowledgement enviada
pelo servidor (no nível núcleo)
 Mensagem de acknowledgement implícita
na resposta do servidor
Modelos de Comunicação em SD
11
Pacotes em protocolo C-S
Código Tipo De Para Descrição
REQ Request C S O cliente deseja um
serviço
REP Reply S C Resposta do servidor para
o cliente
ACK Ackowledgment x y O pacote anterior chegou
AYA Are you alive? C S Investiga de o servidor
não parou
IAA I am alive S C O servidor não parou
TA Try again S C O servidor está lotado
AU Address unknown S C Nenhum processo está
usando aquele endereço
Modelos de Comunicação em SD
12
Chamada de Procedimentos
Remotos (RPC)
 Comunicação baseada em operações de
entrada/saída: abstração fraca, sujeito a
erros
 Ideal: programar um sistema distribuído
como se fosse centralizado
 RPC objetiva permitir chamada de
procedimento remoto como se fosse local,
ocultando entrada/saída de mensagens
Modelos de Comunicação em SD
13
Visão geral
 Um processo A chama um
procedimento p de um processo B,
entrando em estado de espera
 O processo B passa a executar o
procedimento p, e ao seu término faz
um reply para o processo A
 O processo A volta à sua execução
normal após ter recebido o reply
Modelos de Comunicação em SD
14
Chamadas de procedimento
 O procedimento chamador, que já tem suas
variáveis locais empilhadas, empilha os
parâmetros da chamada e o endereço de
retorno
 O procedimento chamado aloca suas
variáveis locais
 No retorno do procedimento chamado, os
parâmetros e o endereço de retorno são
desempilhados
Modelos de Comunicação em SD
15
Modos de parâmetros
 Valor: procedimento chamado recebe uma
cópia de uma variável conhecida do
procedimento chamador
 Referência: procedimento chamado recebe o
endereço de uma variável conhecida do
procedimento chamador
 Cópia/Reescrita: procedimento chamador
recebe uma cópia de uma variável conhecida
do procedimento chamador e o valor desta
cópia é reescrito na variável
Modelos de Comunicação em SD
16
Chamadas e mensagens em RPC
Máquina do Cliente Máquina do Servidor
Kernel Kernel
cliente servidor
empacota
parâmetros
desempacota
resultados
desempacota
parâmetros
empacota
resultados
transporte de mensagens
via rede
1
2
3
4
0 5
6
7
8
9
10
11
Modelos de Comunicação em SD
17
Funções dos Stubs
 Client stub
 intercepta a chamada
 empacota os parâmetros (marshalling)
 envia mensagem de request ao servidor (através do núcleo)
 Server stub
 recebe a mensagem de request (através do núcleo)
 desempacota os parâmetros (unmarshalling)
 chama o procedimento, passando os parâmetros
 empacota o resultado
 envia mensagem de reply ao cliente (através do núcleo)
 Client stub
 recebe a mensagem de reply (através do núcleo)
 desempacota o resultado
 passa o resultado para o cliente
Modelos de Comunicação em SD
18
Falhas em RPC
 O cliente não é capaz de localizar o servidor
 A mensagem de request do cliente para o
servidor é perdida
 A mensagem de reply do servidor para o
cliente é perdida
 O servidor pára após ter recebido a
mensagem de request
 O cliente pára após ter enviado a mensagem
de request
Modelos de Comunicação em SD
19
Falha do servidor
 Passos normais:
 recebe mensagem de request
 executa procedimento
 envia mensagem de reply
 Falha pode ocorrer:
 após a execução
 antes da execução
 Semânticas de chamada:
 pelo menos um
 no máximo um
 exatamente um
Modelos de Comunicação em SD
20
Falha do cliente
 O servidor torna-se um “órfão”
 Soluções:
 exterminação do servidor pela máquina do cliente
 reencarnação do cliente: toda computação remota
é destruída
 "reencarnação" suave do cliente: somentes as
computações remotas referentes a aquele cliente
são destruídas
 expiração: servidor estabele um timeout para
confirmação
Modelos de Comunicação em SD
21
Comunicação em grupo
E
R R
R
R
R R
R R
E
R
Processo que envia mensagem
Processo que recebe mensagem
 Tolerância a falhas
baseada na replicação
de serviços
 Localização de objetos
em serviços distribuídos
 Melhor desempenho via
replicação de dados
 Múltipla atualização
Modelos de Comunicação em SD
22
Tipos de grupos
 Visibilidade:
 Aberto: um processo fora do grupo
consegue enviar mensagens para o grupo
todo
 Fechado: somente processos do grupo
enviam mensagens para o grupo todo
 Organização:
 Peer: todos os processos tomam decisão
 Hierárquico: decisão é centralizada
Modelos de Comunicação em SD
23
Endereçamento de grupo
 Multicast: um processo envia uma
mensagem simultânea e somente para os
membros do grupo.
 Broadcast: um processo envia uma
mensagem para todas as máquinas e
somente as que contêm um membro do
grupo a assimila.
 Unicast: um processo envia uma mensagem
para todos os membros do grupo em série.
Modelos de Comunicação em SD
24
Modificações no grupo
 Controle centralizado: servidor de grupo
 Controle descentralizado: acordo entre
os membros
 Operações:
 Entrada de um membro: atualizar estado
 Saída de um membro: se involuntária (ex:
parada), todos os membros restantes
devem notar sua saída.
Modelos de Comunicação em SD
25
Primitivas de comunicação
 GroupSend: envia mensagem para
todos os membros do grupo
 GroupReceive: aguarda mensagem
enviada a todo o grupo
 GetReply: aguarda resposta de todos
os membros do grupo após um
GroupSend
Modelos de Comunicação em SD
26
Atomicidade
 Uma mensagem enviada ao grupo deve
ser recebida por todos os seus
membros ou por nenhum deles.
 Situação: o enviador pode parar
enquanto está enviando a mensagem
para o grupo.
 Garantia de consistência do grupo
 Facilidade de programação
Modelos de Comunicação em SD
27
Ordenação de mensagens
 Todas as mensagens enviadas a um
grupo devem chegar a todos os
processos na mesma ordem.
 Abordagens:
 Ordenação por tempo global
 Ordenação por tempo consistente:
somente uma mensagem por vez é
difundida

Mais conteúdo relacionado

Semelhante a Modelos de Comunicação em Sistemas Distribuídos

Padrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasPadrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasHelder da Rocha
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5Helder da Rocha
 
Ccna1 capitulo 3 v4.0
Ccna1 capitulo 3 v4.0Ccna1 capitulo 3 v4.0
Ccna1 capitulo 3 v4.0Carlos Melo
 
Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1SoftD Abreu
 
Samba, Squid, FTP, DHCP2
Samba, Squid, FTP, DHCP2Samba, Squid, FTP, DHCP2
Samba, Squid, FTP, DHCP2SoftD Abreu
 
1089335456 paper 4 sockets em java
1089335456 paper 4   sockets em java1089335456 paper 4   sockets em java
1089335456 paper 4 sockets em javajosealcides2005
 
Sistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCSistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCAdriano Teixeira de Souza
 
15 padrões de mensageria para integração de sistemas
15 padrões de mensageria para integração de sistemas15 padrões de mensageria para integração de sistemas
15 padrões de mensageria para integração de sistemasHelder da Rocha
 
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...tdc-globalcode
 
Mini-Curso de Sockets no Unipê
Mini-Curso de Sockets no UnipêMini-Curso de Sockets no Unipê
Mini-Curso de Sockets no UnipêElenilson Vieira
 

Semelhante a Modelos de Comunicação em Sistemas Distribuídos (20)

Camada de aplicação parte1
Camada de aplicação parte1Camada de aplicação parte1
Camada de aplicação parte1
 
Padrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasPadrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemas
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5
 
Apresentação de sd2
Apresentação de sd2Apresentação de sd2
Apresentação de sd2
 
Ccna1 capitulo 3 v4.0
Ccna1 capitulo 3 v4.0Ccna1 capitulo 3 v4.0
Ccna1 capitulo 3 v4.0
 
Aula ix infraestrutura - 03032012
Aula ix   infraestrutura - 03032012Aula ix   infraestrutura - 03032012
Aula ix infraestrutura - 03032012
 
Canais Assíncronos I
Canais Assíncronos ICanais Assíncronos I
Canais Assíncronos I
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1
 
Samba, Squid, FTP, DHCP2
Samba, Squid, FTP, DHCP2Samba, Squid, FTP, DHCP2
Samba, Squid, FTP, DHCP2
 
1089335456 paper 4 sockets em java
1089335456 paper 4   sockets em java1089335456 paper 4   sockets em java
1089335456 paper 4 sockets em java
 
Protocólo FTP
Protocólo FTPProtocólo FTP
Protocólo FTP
 
Sistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCSistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPC
 
Tcp udp
Tcp udpTcp udp
Tcp udp
 
15 padrões de mensageria para integração de sistemas
15 padrões de mensageria para integração de sistemas15 padrões de mensageria para integração de sistemas
15 padrões de mensageria para integração de sistemas
 
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
 
Mini-Curso de Sockets no Unipê
Mini-Curso de Sockets no UnipêMini-Curso de Sockets no Unipê
Mini-Curso de Sockets no Unipê
 
Cap 02.pdf
Cap 02.pdfCap 02.pdf
Cap 02.pdf
 
MDB
MDBMDB
MDB
 
Hornet - 1.Conceitos de Mensageria
Hornet - 1.Conceitos de MensageriaHornet - 1.Conceitos de Mensageria
Hornet - 1.Conceitos de Mensageria
 

Mais de Patrícia Melo

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControlePatrícia Melo
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP IPatrícia Melo
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processoPatrícia Melo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxPatrícia Melo
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptxPatrícia Melo
 
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.pptPatrícia Melo
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.pptPatrícia Melo
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...Patrícia Melo
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptxPatrícia Melo
 

Mais de Patrícia Melo (16)

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de Controle
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptx
 
Ciencia.ppt
Ciencia.pptCiencia.ppt
Ciencia.ppt
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptx
 
IP_Notas01.ppt
IP_Notas01.pptIP_Notas01.ppt
IP_Notas01.ppt
 
03modelos.ppt
03modelos.ppt03modelos.ppt
03modelos.ppt
 
Aula 09b.ppt
Aula 09b.pptAula 09b.ppt
Aula 09b.ppt
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
TOF.ppt
TOF.pptTOF.ppt
TOF.ppt
 
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.ppt
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.ppt
 
Relógios Lógicos
Relógios LógicosRelógios Lógicos
Relógios Lógicos
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 

Último

PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 

Último (20)

PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 

Modelos de Comunicação em Sistemas Distribuídos

  • 1. Modelos de Comunicação em SD 1 Modelos de Comunicação em Sistemas Distribuídos Módulo 3 Alcides Calsavara
  • 2. Modelos de Comunicação em SD 2 Conteúdo  Elementos básicos de comunicação  Transmissão de dados  Endereçamento  Sincronismo  Enfileiramento (Bufferização)  Confiabilidade  Comunicação cliente-servidor  Comunicação em grupo  Chamada remota de procedimento
  • 3. Modelos de Comunicação em SD 3 Comunicação cliente-servidor Cliente Núcleo Núcleo Rede Requisição Resposta Servidor Requisição/Resposta 1 2 3 4 5 6 7 Enlace Físico
  • 4. Modelos de Comunicação em SD 4 Transmissão de dados  Dados em programas são estruturados enquanto que mensagens carregam informação sequencial: » Linearização/Restauração de dados  Heterogeneidade na representação de dados em computadores: » Uso de um formato externo comum » Inclusão de uma identificação de arquitetura na mensagem
  • 5. Modelos de Comunicação em SD 5 Marshalling/Unmarshalling  Marshalling:  Linearização de uma coleção de itens de dados estruturados  Tradução dos dados em formato externo  Unmarshalling:  Tradução do formato externo para o local  Restauração dos itens de dados de acordo com sua estrutura
  • 6. Modelos de Comunicação em SD 6 Endereçamento  Esquemas:  Endereçamento máquina.processo  Endereçamento máquina.id-local  Descoberta de endereço via broadcasting (difusão)  Descoberta de endereço via um servidor de nomes  Problemas potenciais: transparência de localização, sobrecarga, escalabilidade
  • 7. Modelos de Comunicação em SD 7 Comunicação síncrona  Primitiva send é bloqueante: processo cliente aguarda enquanto o núcleo envia a mensagem para o processo servidor.  Primitiva receive é bloqueante: processo servidor aguarda até que o núcleo receba uma mensagem endereçada para aquele processo.
  • 8. Modelos de Comunicação em SD 8 Comunicação assíncrona  Primitiva send não é bloqueante: o processo cliente aguarda somente enquanto a mensagem é copiada para o buffer do núcleo.  Primitiva receive pode ser:  bloqueante: o processo servidor aguarda por uma mensagem.  não bloqueante: o processo servidor simplesmente comunica o núcleo que espera receber uma mensagem.
  • 9. Modelos de Comunicação em SD 9 Enfileiramento  Situações:  Send ocorre antes de Receive  Um cliente faz um Send enquanto o servidor ainda atende a outro cliente  Solução trivial: clientes devem insistir ...  Solução pragmática: mailbox (uma fila de mensagens controlada pelo núcleo):  mailbox criado a pedido do servidor  mensagens endereçadas ao mailbox
  • 10. Modelos de Comunicação em SD 10 Confiabilidade  Mensagens se perdem, atrasam, duplicam.  Abordagens:  Send tem semântica não confiável: as aplicações devem garantir entrega de mensagens (ex: timeout)  Mensagem de acknowledgement enviada pelo servidor (no nível núcleo)  Mensagem de acknowledgement implícita na resposta do servidor
  • 11. Modelos de Comunicação em SD 11 Pacotes em protocolo C-S Código Tipo De Para Descrição REQ Request C S O cliente deseja um serviço REP Reply S C Resposta do servidor para o cliente ACK Ackowledgment x y O pacote anterior chegou AYA Are you alive? C S Investiga de o servidor não parou IAA I am alive S C O servidor não parou TA Try again S C O servidor está lotado AU Address unknown S C Nenhum processo está usando aquele endereço
  • 12. Modelos de Comunicação em SD 12 Chamada de Procedimentos Remotos (RPC)  Comunicação baseada em operações de entrada/saída: abstração fraca, sujeito a erros  Ideal: programar um sistema distribuído como se fosse centralizado  RPC objetiva permitir chamada de procedimento remoto como se fosse local, ocultando entrada/saída de mensagens
  • 13. Modelos de Comunicação em SD 13 Visão geral  Um processo A chama um procedimento p de um processo B, entrando em estado de espera  O processo B passa a executar o procedimento p, e ao seu término faz um reply para o processo A  O processo A volta à sua execução normal após ter recebido o reply
  • 14. Modelos de Comunicação em SD 14 Chamadas de procedimento  O procedimento chamador, que já tem suas variáveis locais empilhadas, empilha os parâmetros da chamada e o endereço de retorno  O procedimento chamado aloca suas variáveis locais  No retorno do procedimento chamado, os parâmetros e o endereço de retorno são desempilhados
  • 15. Modelos de Comunicação em SD 15 Modos de parâmetros  Valor: procedimento chamado recebe uma cópia de uma variável conhecida do procedimento chamador  Referência: procedimento chamado recebe o endereço de uma variável conhecida do procedimento chamador  Cópia/Reescrita: procedimento chamador recebe uma cópia de uma variável conhecida do procedimento chamador e o valor desta cópia é reescrito na variável
  • 16. Modelos de Comunicação em SD 16 Chamadas e mensagens em RPC Máquina do Cliente Máquina do Servidor Kernel Kernel cliente servidor empacota parâmetros desempacota resultados desempacota parâmetros empacota resultados transporte de mensagens via rede 1 2 3 4 0 5 6 7 8 9 10 11
  • 17. Modelos de Comunicação em SD 17 Funções dos Stubs  Client stub  intercepta a chamada  empacota os parâmetros (marshalling)  envia mensagem de request ao servidor (através do núcleo)  Server stub  recebe a mensagem de request (através do núcleo)  desempacota os parâmetros (unmarshalling)  chama o procedimento, passando os parâmetros  empacota o resultado  envia mensagem de reply ao cliente (através do núcleo)  Client stub  recebe a mensagem de reply (através do núcleo)  desempacota o resultado  passa o resultado para o cliente
  • 18. Modelos de Comunicação em SD 18 Falhas em RPC  O cliente não é capaz de localizar o servidor  A mensagem de request do cliente para o servidor é perdida  A mensagem de reply do servidor para o cliente é perdida  O servidor pára após ter recebido a mensagem de request  O cliente pára após ter enviado a mensagem de request
  • 19. Modelos de Comunicação em SD 19 Falha do servidor  Passos normais:  recebe mensagem de request  executa procedimento  envia mensagem de reply  Falha pode ocorrer:  após a execução  antes da execução  Semânticas de chamada:  pelo menos um  no máximo um  exatamente um
  • 20. Modelos de Comunicação em SD 20 Falha do cliente  O servidor torna-se um “órfão”  Soluções:  exterminação do servidor pela máquina do cliente  reencarnação do cliente: toda computação remota é destruída  "reencarnação" suave do cliente: somentes as computações remotas referentes a aquele cliente são destruídas  expiração: servidor estabele um timeout para confirmação
  • 21. Modelos de Comunicação em SD 21 Comunicação em grupo E R R R R R R R R E R Processo que envia mensagem Processo que recebe mensagem  Tolerância a falhas baseada na replicação de serviços  Localização de objetos em serviços distribuídos  Melhor desempenho via replicação de dados  Múltipla atualização
  • 22. Modelos de Comunicação em SD 22 Tipos de grupos  Visibilidade:  Aberto: um processo fora do grupo consegue enviar mensagens para o grupo todo  Fechado: somente processos do grupo enviam mensagens para o grupo todo  Organização:  Peer: todos os processos tomam decisão  Hierárquico: decisão é centralizada
  • 23. Modelos de Comunicação em SD 23 Endereçamento de grupo  Multicast: um processo envia uma mensagem simultânea e somente para os membros do grupo.  Broadcast: um processo envia uma mensagem para todas as máquinas e somente as que contêm um membro do grupo a assimila.  Unicast: um processo envia uma mensagem para todos os membros do grupo em série.
  • 24. Modelos de Comunicação em SD 24 Modificações no grupo  Controle centralizado: servidor de grupo  Controle descentralizado: acordo entre os membros  Operações:  Entrada de um membro: atualizar estado  Saída de um membro: se involuntária (ex: parada), todos os membros restantes devem notar sua saída.
  • 25. Modelos de Comunicação em SD 25 Primitivas de comunicação  GroupSend: envia mensagem para todos os membros do grupo  GroupReceive: aguarda mensagem enviada a todo o grupo  GetReply: aguarda resposta de todos os membros do grupo após um GroupSend
  • 26. Modelos de Comunicação em SD 26 Atomicidade  Uma mensagem enviada ao grupo deve ser recebida por todos os seus membros ou por nenhum deles.  Situação: o enviador pode parar enquanto está enviando a mensagem para o grupo.  Garantia de consistência do grupo  Facilidade de programação
  • 27. Modelos de Comunicação em SD 27 Ordenação de mensagens  Todas as mensagens enviadas a um grupo devem chegar a todos os processos na mesma ordem.  Abordagens:  Ordenação por tempo global  Ordenação por tempo consistente: somente uma mensagem por vez é difundida