Stream-Oriented Communication. Introdução Existem formas de comunicação em que o tempo exerce um...

Preview:

Citation preview

Stream-Oriented Communication

Introdução

Existem formas de comunicação em que o

tempo exerce um papel crucial

A questão é..

Que facilidades um Middleware deve oferecer

para trocar informações dependentes de tempo,

tais como áudio e vídeo?

Tipos de Mídias

Texto Imagem Gráfico Áudio Animação Vídeo

Representação Multimídia

TextoCaracteres são convertidos parauma representação com umnúmero fixo de bits ASCII, EBCDIC, Unicode Captura de Texto: Digitação, OCR

ImagemBloco bidimensional de pixels orpels (picture elements), sendocada pixel representado por umnúmero fixo de bits RGB 565, YUV Captura de Imagens: Câmera

Fotográfica, Scanner, etc.

ÁudioMídia Tipicamente AnalógicaRepresentação Digital, quandonecessário para integração commídias digitais, através dedigitalização do Sinal Analógicopor amostragem Captura de Áudio: Microfone

VídeoMídia Tipicamente Analógica Captura de Vídeo: Câmeras de

Vídeo

Aplicações Multimídia

Comunicação Pessoal– Voz: Telefonia, Voice-mail, Conferência de voz– Imagem: FAX– Texto : Email, IMS– Texto e Imagem: CSCW (whiteboarding)– Voz eVídeo: Videoconferência– Multimídia: Multimídia mail

Aplicações Interativas– WWW, Teleshopping, Telebanking

Aplicações de Lazer– Vídeo-sob-demanda, Televisão Interativa, etc

Stream de Dados

Seqüência de unidades de dados

Podem ser usados para dados contínuos ou discretos

Para capturar aspectos de tempo, fundamentais para mídias

contínuas, é feita distinção entre modos de transmissão:

Assíncrono – não existe restrição de tempo

Síncrono – delay fim-a-fim máximo

Isócrono – delay fim-a-fim máximo e mínimo (jitter)

Stream de Dados

Sincronização de Mídias

Streams podem ser:

Simples – um único fluxo de dados

Complexos – mais de um fluxo de dados relacionados,

chamados substreams

As relações entre substreams são dependentes de tempo

Um stream pode ser considerado como uma conexão virtual

entre fonte e destino

A fonte (source) ou destino (sink) podem ser um processo, mas

também podem ser dispositivos

Duas mídias perfeitamente sincronizadas

Mídia mestre

Mídia escravo

Mídia mestre atrasada em relação à mídia escravo

Mídia escravo

Mídia mestre adiantada em relação a mídia escravo

Mídia escravo

Mídia mestre

Mecanismos de Sincronização de Stream

Mecanismos de sincronização podem ser tratados em diferentes níveis de abstração. Por exemplo, no nível de unidades de dados (Sistema Operacional)

Multicasting Stream

Um dos principais problemas com multicasting stream é quando receptores têm diferentes requisitos relacionados à qualidade (QoS)

Stream e QoS

Requisitos dependentes de tempo (e outros requisitos não

funcionais), são geralmente conhecidos como requisitos de QoS

(Quality of Service)

Como especificar os requisitos de QoS?

Uma das abordagens é especificação precisa do fluxo através

de requisitos de banda, taxas de transmissão, delays, etc

Especificação de Fluxo

Metáfora para Especificação de Stream

Um dos principais problemas desta abordagem é o nível de detalhe técnico exigido, que em geral não faz parte do vocabulário do usuário

Alocação de Recursos para Stream

Uma vez que o stream de dados foi descrito, um sistema distribuído pode alocar recursos para atender aos requisitos.

Recursos típicos: Banda Buffers Capacidade de processamento

Reserva de Recursos

Protocolo de Reserva de Recursos – RSVP – protocolo de transporte para habilitar reserva de recursos em roteadores

Senders RSVP especifica stream em termos de banda, delay, jitter, etc

Multimedia Middleware

Streaming sem Middleware

Streaming com Middleware

Multimídia Middleware

Multimídia middleware oferece interfaces (high-level) para controle

de áudio e vídeo, incluindo dispositivos como monitor, câmera,

microfones