sistemas distribuídos comunicação middleware orientado a mensagens e streams - parte 3 -...
TRANSCRIPT
![Page 1: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/1.jpg)
Sistemas Distribuídos
ComunicaçãoMiddleware Orientado a
Mensagens e Streams
- Parte 3 -
Instituto de Informática – UFG
Verão 2005
Baseado em: Tanenbaum, Capítulo 2
![Page 2: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/2.jpg)
Middleware Orientado a Mensagens
• Para algumas categorias de aplicações, o modelo de chamada de métodos/procedimentos remotos não é
natural
• Um modelo de passagem de passagem de mensagens permite modelar melhor o padrão de
interação inerente aos componentes das aplicações
• Em geral: aplicações distribuídas com grau de acoplamento muito baixo
![Page 3: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/3.jpg)
Persistência e Sincronismo na Comunicação (1)
Persistência: as mensagens são armazenadas em elementos intermediários da rede– a rede garante que mensagens não vão se perder
Transiência: a rede não armazena as mensagens– confia na disponibilidade do transmissor e/ou receptor
para que as mensagens não se percam
Sincronismo: transmissor permanece bloqueado até que o envio da mensagem se complete
Assincronismo: transmissor retoma operação normal tão logo tenha enfileirado a mensagem
![Page 4: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/4.jpg)
Persistência e Sincronismo na Comunicação (2)
Organização geral de um sistema de comunicação baseado em mensagens, em que os hosts são conectados através de uma rede
2-20
![Page 5: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/5.jpg)
Persistência e Sincronismo na Comunicação (3)
Comunicação persistente de cartas
![Page 6: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/6.jpg)
Persistência e Sincronismo na Comunicação (4)
a) Comunicação persistente e assíncronab) Comunicação persistente e síncrona
2-22.1
![Page 7: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/7.jpg)
Persistência e Sincronismo na Comunicação (5)
a) Comunicação transiente e assíncronab) Comunicação transiente e síncrona baseada na recepção
2-22.2
![Page 8: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/8.jpg)
Persistência e Sincronismo na Comunicação (6)
a) Comunicação transiente e síncrona baseada na entregab) Comunicação síncrona e transiente baseada na resposta
![Page 9: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/9.jpg)
Exemplo de Sistema Baseado em Mensagens Transientes
Message-Passing Interface (MPI)
Algumas das primitivas de passagem de mensagens mais intuitivas de RMI.
Check if there is an incoming message, but do not blockMPI_irecv
Receive a message; block if there are noneMPI_recv
Pass reference to outgoing message, and wait until receipt startsMPI_issend
Pass reference to outgoing message, and continueMPI_isend
Send a message and wait for replyMPI_sendrecv
Send a message and wait until receipt startsMPI_ssend
Send a message and wait until copied to local or remote bufferMPI_send
Append outgoing message to a local send bufferMPI_bsend
MeaningPrimitive
![Page 10: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/10.jpg)
Sistema de Mensagens PersistentesModelos de Filas de Mensagens
Quatro combinações de comunicação fracamente acoplada utilizando filas.
2-26
![Page 11: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/11.jpg)
Modelos de Filas de Mensagens (2)
Interface básica para uma fila em um sistema de filas de mensagens.
Install a handler to be called when a message is put into the specified queue.Notify
Check a specified queue for messages, and remove the first. Never block.Poll
Block until the specified queue is nonempty, and remove the first messageGet
Append a message to a specified queuePut
MeaningPrimitive
![Page 12: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/12.jpg)
Arquitetura Geral de um Sistema de Filas de Mensagens (1)
O relacionamento entre endereçamento em nível de filas e endereçamento em nível de rede.
![Page 13: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/13.jpg)
Arquitetura Geral de um Sistema de Filas de Mensagens (3)
A organização geral de um sistema de filas de mensagens com roteadores.
2-29
![Page 14: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/14.jpg)
Message Brokers
A organização geral de um message broker em um sistema de filas de mensagens.
2-30
Gateway de mensagens entre aplicações em um sistema heterogêneo: conversão de formato das mensagens entre origem e destino
![Page 15: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/15.jpg)
Middleware Baseado em Streams
![Page 16: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/16.jpg)
Middleware Baseado em Streams
• Provê suporte para comunicação entre os componentes das aplicações com base em fluxos de
dados contínuos
• Uma seqüência indefinidamente longa de unidades de dados é transmitida como parte de uma única
interação
• Preserva a relação temporal entre as unidades de dados transmitidas
• Modelo natural para a comunicação de dados que representam mídias contínuas (e.g., áudio e vídeo)
![Page 17: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/17.jpg)
Um Sistema de Multimídia Distribuída
Wide a rea ga tew ay Videoserve r
D igita lTV/rad iose rve r
V ideo cam eraand m ike
Loca l ne tw ork Loca l ne tw ork
![Page 18: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/18.jpg)
Tipos de Streams
Streams contínuas: dependência temporal entre os itens de dados– a aplicação falha se essa dependência não for respeitada– aplicação: comunicação de mídias contínuas
Streams discretas: cada item de dados pode ser transmitido independentemente dos demais– temporização da transmissão não é importante para as
aplicações– aplicação: comunicação de mídias discretas– Ex.: streams TCP
![Page 19: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/19.jpg)
Modos de Transmissão de Streams
Transmissão Assíncrona: itens de dados são transmitidos em seqüência, mas sem restrições quanto à sua temporização
Transmissão Síncrona: há um limite máximo para o atraso fim-a-fim de cada item de dados da stream, mas os itens podem ser transferidos mais rapidamente
Transmissão Isócrona: há um limite máximo e um limite mínimo para o atraso fim-a-fim; a variação do atraso é conhecida como jitter
![Page 20: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/20.jpg)
Streams Simples e Compostas
Streams simples: um único fluxo de dados– um fluxo de áudio mono– um fluxo de vídeo (uma seqüência de quadros
serializados)
Streams compostas: vários fluxos diferentes combinados– um fluxo de áudio estéreo (i.e., dois fluxos de áudio)– um fluxo de vídeo (filme) e um fluxo de áudio
representando a trilha sonora
Sincronização entre streams é um problema importante
![Page 21: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/21.jpg)
Uma Streams de Dados Simples
Configurando uma stream entre dois processos através da rede.
(áudio armazenado, áudio sob demanda)
![Page 22: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/22.jpg)
Streams de Dados em Tempo Real
Configurando uma stream diretamente entre dois dispositivos.
2-35.2
![Page 23: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/23.jpg)
Infra-estrutura Típica dos Componentes para uma Aplicação Multimída
M icroph on es
Cam era
S creen
Win dow system
CodecD
BM ixer
PC/workstation PC/workstation
CVideostore
Networkcon n ection s
K
L
M
: m u ltim edia stream
CodecA G
Codec
H
Win dow system
Wh ite boxes represen t m edia processin g com pon en ts, m an y of wh ich are im plem en ted in software, in clu din g:codec: codin g/decodin g fi l ter
m ixer: sou n d-m ix in g com pon en t
Video fi le system
Caixas brancas representam componentes de processamento de mídia, muitos dos quais são implementados em software, incluindo: codecs (filtros de
codificação/decodificação) e mixers (componentes de mixagem de áudio)
Ir para o slide de especificação de QoS
![Page 24: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/24.jpg)
QoS - Quality of Service
Qualidade de Serviço
Características que o Sistema Distribuído e a rede devem prover para garantir (por exemplo) que a relação temporal entre os itens de dados de uma
stream seja preservada
Algumas métricas comuns de QoS:• limites de tempo e atraso
• volume de dados transferidos• confiabilidade
![Page 25: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/25.jpg)
Especificação de QoS
A especificação de um fluxo (Partridge, 1992).
•Loss sensitivity (bytes)•Loss interval (sec)•Burst loss sensitivity (data units)•Minimum delay noticed (sec)•Maximum delay variation (sec)•Quality of guarantee
•maximum data unit size (bytes)•Token bucket rate (bytes/sec)•Toke bucket size (bytes)•Maximum transmission rate (bytes/sec)
Service RequiredCharacteristics of the Input
![Page 26: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/26.jpg)
RFC 1363 – Especificação de Fluxo
Protocol version
Maximum transmission unit
Token bucket rate
Token bucket size
Maximum transmission rate
Minimum delay noticed
Maximum delay variation
Loss sensitivity
Burst loss sensitivity
Loss interval
Quality of guarantee
Bandwidth:
Delay:
Loss:
(Partridge, 1992).
![Page 27: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/27.jpg)
Características de Streams Multimídia Típicas
Data rate(approximate)
Sample or frame frequency size
Telephone speech 64 kbps 8 bits 8000/secCD-quality sound 1.4 Mbps 16 bits 44,000/secStandard TV video(uncompressed)
120 Mbps up to 640 x 480pixels x 16 bits
24/sec
Standard TV video (MPEG-1 compressed)
1.5 Mbps variable 24/sec
HDTV video(uncompressed)
1000–3000 Mbps up to 1920 x 1080pixels x 24 bits
24–60/sec
HDTV video(MPEG-2 compressed)
10–30 Mbps variable 24–60/sec
![Page 28: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/28.jpg)
Especificação de QoS para os Componentes da Aplicação Mostrada
Component Bandwidth Latency Loss rate Resources required
Camera Out: 10 frames/sec, raw video640x480x16 bits
Zero
A Codec In:
Out:
10 frames/sec
MPEG-1 stream
Interactive Low 10 ms CPU each 100 ms;
10 Mbytes RAM
B Mixer In:
Out:
2 44 kbps audio
1 44 kbps audio
Interactive Very low 1 ms CPU each 100 ms;
1 Mbytes RAM
H Windowsystem
In:
Out:
various
50 frame/sec
Interactive Low 5 ms CPU each 100 ms;
5 Mbytes RAM
K Networkconnection
In/Out: MPEG-1 stream1.5 Mbps
Interactive Low 1.5 Mbps, low-lossstream protocol
L Networkconnection
In/Out: Audio 44 kbps Interactive Very low 44 kbps, very low-lossstream protocol
Voltar ao slide da Aplicação
![Page 29: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/29.jpg)
A Tarefa do Gerente de QoSComponentes da Aplicação especificam seus requisi-
tos de QoS para o Gerente de QoS
Gerente de QoS avalia os novos requisitos em relação aosrecursos disponíveis.
Os recursos disponíveis são suficientes?
Reserva os recursos requisitados
Permite que a aplicação prossiga
A aplicação executa com os recursossegundo um contrato
Negocia uma provisão de recursos reduzida coma aplicação.
Chegou-se a um acordo?
Não permite que a aplicação prossiga
Aplicação notifica ao Gerente deQoS um aumento em seus requisitos
de recursos
Especificação de Fluxo
Sim Não
Não
Sim
Contrato de Recursos
Controle deAdmissão
Negociaçãode QoS
![Page 30: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/30.jpg)
Garantia de QoS com Modelamento de Tráfego
Princípio básico de algoritmos de modelamento de tráfego do tipo
“token bucket”.
![Page 31: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/31.jpg)
Configuração de uma Stream com suporte a QoS
A organização básica de RSVP para reserva de recursos em um sistema distribuído.
![Page 32: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/32.jpg)
Filtragem de QoS
Um exemplo de multicast de uma stream para vários receptores.
![Page 33: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/33.jpg)
Mecanismos de Sincronização (1)
O princípio da sincronização explícita entre streams.
![Page 34: Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,](https://reader030.vdocuments.pub/reader030/viewer/2022020122/552fc10b497959413d8c3318/html5/thumbnails/34.jpg)
Mecanismos de Sincronização (2)
O princípio da sincronização segundo o suporte provido pelas interfaces de alto nível do middleware.
2-41