A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,"— Transcrição da apresentação:

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, Capítulo 2

2 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

3 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

4 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

5 Persistência e Sincronismo na Comunicação (3) Comunicação persistente de cartas

6 Persistência e Sincronismo na Comunicação (4) a)Comunicação persistente e assíncrona b)Comunicação persistente e síncrona 2-22.1

7 Persistência e Sincronismo na Comunicação (5) a)Comunicação transiente e assíncrona b)Comunicação transiente e síncrona baseada na recepção 2-22.2

8 Persistência e Sincronismo na Comunicação (6) a)Comunicação transiente e síncrona baseada na entrega b)Comunicação síncrona e transiente baseada na resposta

9 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

10 Sistema de Mensagens Persistentes Modelos de Filas de Mensagens Quatro combinações de comunicação fracamente acoplada utilizando filas. 2-26

11 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

12 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.

13 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

14 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

15 Middleware Baseado em Streams

16 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)

17 Um Sistema de Multimídia Distribuída

18 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

19 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

20 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

21 Uma Streams de Dados Simples Configurando uma stream entre dois processos através da rede. (áudio armazenado, áudio sob demanda)

22 Streams de Dados em Tempo Real Configurando uma stream diretamente entre dois dispositivos. 2-35.2

23 Infra-estrutura Típica dos Componentes para uma Aplicação Multimída 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

24 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

25 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

26 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).

27 Características de Streams Multimídia Típicas Data rate (approximate) Sample or frame frequency size Telephone speech64 kbps8 bits8000/sec CD-quality sound1.4 Mbps16 bits44,000/sec Standard TV video (uncompressed) 120 Mbpsup to 640 x 480 pixels x 16 bits 24/sec Standard TV video (MPEG-1 compressed) 1.5 Mbpsvariable24/sec HDTV video (uncompressed) 1000–3000 Mbpsup to 1920 x 1080 pixels x 24 bits 24–60/sec HDTV video (MPEG-2 compressed) 10–30 Mbpsvariable24–60/sec

28 Especificação de QoS para os Componentes da Aplicação Mostrada ComponentBandwidthLatencyLoss rateResources required Camera Out:10 frames/sec, raw video 640x480x16 bits Zero A Codec In: Out: 10 frames/sec MPEG-1 stream InteractiveLow10 ms CPU each 100 ms; 10 Mbytes RAM B Mixer In: Out: 2 44 kbps audio 1 44 kbps audio InteractiveVery low1 ms CPU each 100 ms; 1 Mbytes RAM H Window system In: Out: various 50 frame/sec InteractiveLow5 ms CPU each 100 ms; 5 Mbytes RAM K Network connection In/Out: MPEG-1 stream 1.5 Mbps InteractiveLow 1.5 Mbps, low-loss stream protocol L Network connection In/Out: Audio 44 kbps InteractiveVery low 44 kbps, very low-loss stream protocol Voltar ao slide da Aplicação

29 A Tarefa do Gerente de QoS Componentes da Aplicação especificam seus requisi- tos de QoS para o Gerente de QoS Gerente de QoS avalia os novos requisitos em relação aos recursos 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 recursos segundo um contrato Negocia uma provisão de recursos reduzida com a aplicação. Chegou-se a um acordo? Não permite que a aplicação prossiga Aplicação notifica ao Gerente de QoS um aumento em seus requisitos de recursos Especificação de Fluxo Sim Não Sim Contrato de Recursos Controle de Admissão Negociação de QoS

30 Garantia de QoS com Modelamento de Tráfego Princípio básico de algoritmos de modelamento de tráfego do tipo token bucket.

31 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.

32 Filtragem de QoS Um exemplo de multicast de uma stream para vários receptores.

33 Mecanismos de Sincronização (1) O princípio da sincronização explícita entre streams.

34 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


Carregar ppt "Sistemas Distribuídos Comunicação Middleware Orientado a Mensagens e Streams - Parte 3 - Instituto de Informática – UFG Verão 2005 Baseado em: Tanenbaum,"

Apresentações semelhantes


Anúncios Google