+ All Categories
Home > Documents > Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for...

Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for...

Date post: 22-Jan-2016
Category:
Upload: patricio-lua
View: 219 times
Download: 0 times
Share this document with a friend
Popular Tags:
40
Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González Dr. Hussein Abdel-Wahab Universidad Técnica Federico Santa María Abril 2000
Transcript
Page 1: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

Módulo de Software para Desarrollo de Aplicaciones Multimediales

“A Semantic-based Middleware for Multimedia Collaborative Applications”

Agustín J. GonzálezDr. Hussein Abdel-Wahab

Universidad Técnica Federico Santa María

Abril 2000

Page 2: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

2

Contenido

Introducción

MiddlewareObjetivos

Extensión de los servicios de sistemas operativos

Sincronización de Streams

Framework para Control de Turnos

Protocolo para la transmissión de imágenes dinámicas

Resultados Experimentales

ConclusionesQuestions

Page 3: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

3

Introducción • Surgen Aplicaciones Multimediales de Gran Escala

* Aumento del desempeño de computadores Desktop

* Crecimiento de la Internet en ancho de banda y # de máquinas

• Una desafiante clase de aplicaciones* Potencia de procesamiento y ancho de banda

* Escalabilidad

* Heterogeneidad (Ethernet/modem, WinNT/Solaris, MPEG/H263)

* Entrega de datos a tiempo

• Servicios Tradicionales* Capa de Transporte: UDP & TCP (tiempo real no fue considerado)

* Sistemas Operativos: Abstracciones no adecuadas para multimedios

» Example: Tiempo Real no esta bien considerad.

• Brecha entre requerimeintos multimediales y los servicios de los sistemas

more

more

more Outline

Page 4: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

4

Requerimeinto de Recursos Multimediales

Bandwidth

Processing

Quality

Q1Q2

Q3

CPU performance

Page 5: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

5

Source: Dr. David Patterson University of Virginia Distinguished Lecture Series, May 19,1998. http://www.cs.berkeley.edu/~pattrsn/talks/Stanford.pdf

Processor Performance Increase

3

Processor Performance Increase

µProc60%/yr.

1

10

100

10001980

1981

1983

1984

1985

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

CPU

1982

Performance

Time

Effect on MM

Page 6: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

6

Multimedia Resource Requirements

Bandwidth

Processing

MultimediaRequirements

Quality

Q1Q2

Q3

Bandwidth

Page 7: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

7

Multimedia Resource Requirements

Bandwidth

Processing

MultimediaRequirements

Quality

Q1Q2

Q3

Alto Procesamiento + alto ancho de banda + OtrosIntroduction

Page 8: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

8

Crecimiento de la Internet

56 M

Introduction

Page 9: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

9

Requerimientos TradicionalesServicios Trad.

Aplicaciones Tradicionales

Brecha entre los servicios de los sistemas y los requerimientos de las aplicaciones

Desarrolladores deben llenar el vacío implementando servicios comunes en applicationes multimediales.

Tiempo RealEscalabilidadHeterogeneidad

Aplicaciones Multimediales

Middleware

outline

Page 10: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

10

“Nuestro principal objetivo fue investigar y proponer soluciones y mejoras escalables, confiables, flexibles, and reusables a necesidades comunes en el desarorollo de aplicaciones multimediales.”

Objetivo

Necesidades consideradas:

* Extensión de los servicios de la red

* Sincronización de los medios

* Control de turnos

* Compartición de datos Outline

Page 11: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

11

Extension de los Servicos de Red

• Nuevos servicios* Recepción asíncrona de datos

* Monitoreo de calidad del servicio

* Control de la tasa de transmisión

• Nuevas facilidades* Multicast/Unicast API Unificada

* Eficiente manejo de buffers para unidades de datosmore

more

more

more

more

Outline

Page 12: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

12

Recepción Asíncrona de Datos

Llegada de paquetes desde la red

packet

Thread watching

packet“application function”

Ext. Net. Srvs

Modelo conducido por eventos (Event-driven)

Page 13: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

13

Monitoreo de la Calidad del Servicio

Monitoreo del tráfico

packet packet“application function”

3,67 Bps789

2,15 Bps789

packet packet“application function”

Ext. Net. Srvs

ti-3 ti

si

Time

Packet Size

ti-1ti-2 t

Window k=3

ki

i

kijj

k tt

s

tSTTR

1)(

Page 14: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

14

Control de la tasa de transmisión

Ext. Net. Srvs

ti-2 ti-1

si

Time

Packet Size

t`i ti

Send() call Actual Tx time

packet

i

2,15 Bps789

packet“application function”

Traffic Limit2,200 Bps

i-1

Page 15: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

15

Multicast/Unicast API Unificada

• Rasmisión datagrama* Un send a una máquina o un prupo multicast no se diferencia.

• Recepción de datagramas* Si la dirección IP dada es una dirección multicast, join group.

* Si no es multicast, hacer un bind a esa dirección.

port,addressUnicast

addressMulticast

Ext. Net. Srvs

Page 16: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

16

Manjo eficiente de buffers para Unidades de Datos

A B

AH BH

Tx Rx

BA

BHAH

* Meta: prevenir el movimiento de datos en memoria* Módulo trasmisor crea un buffer the salida que puede almacenar

encabezados y sequencias de término (“headers” y “tails” ).* Módulos receptores deben reservar un tamaño de buffer de peor

caso.

Ext. Net. Srvs

Page 17: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

17

Sincronización de Streams• Problema: tiempos de procesamiento y los retardos de la

red no son determinísticos.

• El objetivo es reconstruir fielmente la relación temporal entre eventos.

• Principales características de nuestra solución:* Ésta depende sólo de mensajes en un solo sentido

» No requiere “feedback”

* Sólo requiere que los relojes del Tx y Rx sean constantes. » Estos relojes podrían estar desfasados.» Éstos podrían tener diferente paso (frecuencia).» No se requiere relojes globalmente sincronizados.

* Ésta admite politicas para manejar paquetes retardados y ajustes de retardo.

Details

Page 18: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

18

Sincronización de Streams (detalles)

• Modelo de tiempos• Sincronización Intra-stream• Sincronización Inter-stream• Estimación y eliminación de diferencias

de reloj

more

more

more

more

Outline

Page 19: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

19

Modelo de TiemposObservador Virtual

Network

Original Phenomenon

Capture

TimestampingEqualization

Buffer

Remote view

Playout

tiai

ciqi pi

Virtual Observer’smachine time

Receivertime

Absolute time

ci

i

pi

ti

TransmissionPath

Sync

Page 20: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

20

ci

pi

ai

Receiver

Sender

ti-1 ti

ai-1 ai

cici-1

qi-1

qi

pi-1 pi

Perception

Timestamping

Arrival

Equalization

Playout

ci-1

pi-1

Sincronización Intra-stream (modelo)“Visto” por observador virtual

“Visto” por receptor

ctecp ii Condición de sincronización:

Retardo virtual

cte

Solution

Compromiso:% late packets

Total delay

Adaptación del retardo virtual

Page 21: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

21

Sincronización Intra-stream (solución)Idea: ajustar el “retardo virtual” para obtener un % dado de paquetes atrasados

otherwise 0

arrival latefor 1*11 ii ll

NASA MBone 1% late packets

sync

more

Partida lenta1 min !

Estimador % de paquetes atrasados:

Page 22: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

22

Refinamiento para partida rápida

Menor que 5 s ! sync

Page 23: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

23

Sincronización Inter-stream

Sincroniza strems viniendo sólo desde un observador virtual.

Actual network delay Global Sync Model Differentiated

Sincroniza strems que llegan desde cualquier parte. Asigna retardo de peor caso.

Solution

Modelo de Sincronización Global v/s Modelo de Sincronización Diferenciada

Page 24: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

24

Sincronización Inter-stream (solución)

AudioSync

DataSyncDataSync

VideoSyncInter-stream

coordinatorRetardo virtual

Retardo Virtual Max.

sync

Page 25: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

25

Desfase de frecuencia de relojes: estimación y eliminación

Meta: Eliminar diferencias en la frecuencia de los relojes

Corrección

El algoritmo ajusta una línea recta con el arribo de paquetes

sync

Antes Después

Page 26: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

26

Active Resource

Everywhere Resource

Inactive resourceNode (participant)

Localized Resource

“Audio” “Shared tool”

“Lightweight Framework” para Control de Turnos

• Problema: ¿Cómo manejar recursos exclusivos en applicaciones multimediales de gran escala?

• Reconocimos dos casos:

ResourceUserUser Recurso Canal de comunicación

1:1

:

nn

Solution

Page 27: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

27

Control de Turnos (Solución)

* Proponemos dos protocolos para control de turnos, uno para cada arquitectura.

* Características: “lightweight”, escalable, robusto

(1) Request(2) Granted

(2) Taken

(1) Request

(3) Granted

Preemptive

Coordinator Floor holder Participant

(1) Request(2) Release

(4) Granted

(3) Taken or Released

TCP connectionHeartbeat

Delayedpreemptive

* El coordinador es estacionario para recursos localizados.

* El coordiandor migra con el “turno” para recursos distribuidos.

Localized res.

Page 28: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

28

Arquitectura para recursos localizados

Requester Control

Requester

RequesterListener

Coordinator

RequestReleased

HolderRefreshTakenGrantedRelease

GrantedRelease

RequestReleased

Withdrew

GrantedTakenRelease

NewHolder

getResourceInfo

Object implementing interface xObject related with floor architectureMain floor architecture objectsOptional Object

x

*

NewHolderListener*

ResourceInfo *

ResourceUserListener*

1-1 reliable remote invocation1-N unreliable remote invocationLocal invocation

Monitor/LogListener

*

log

Monitor/LogListener

*

log

HeartbeatHeartbeat

Policy

RequestNotiWithdrawalNotiHolderTimeoutSelectNextHolder

Everywhere res.

Outline

Page 29: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

29

Arquitectura para recursos distribuidos

Requester Control

Requester

RequesterListener

RequestReleased

HolderRefreshTakenGrantedRelease

GrantedRelease

RequestWithdrew

Granted

getResourceInfo

ResourceListener*

1-1 Temporary connection for reliable remote invocation1-N unreliable remote invocationLocal invocation

Monitor/LogListener*

log

Monitor/LogListener*

log

Heartbeat

RequestNotiWithdrawalNotiHolderTimeoutSelectNextHolder

Coordinator

Policy

ActivateRequestWithdrewReleased

GrantedTakenRelease

Coordinator

Other Objects(Same Architecture as above)

To all Requesters

Before Granted

After Granted

Heartbeat

Outline

Page 30: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

30

Protocolo para la Transmisión de Imágenes Dinámicas

• Problema: Además de audio y video, las sesiones multimediales necesitan una componente para el envío de la idea principal en discusión.

• Soluciones tradicionales: * Uso de video (limitaciones de tamaño, alto ancho de banda)

* Aplicaciones compartidas: XTV, co-browsers, VNC,.. ( no escalan bien)

• Nuestra solución: * Protocolo similar al de video, pensado para el envío de

imágenes dinámicas

Solution

Page 31: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

31

Protocolo para la Transmisión Dinámica de Imágenes

• Transmisor:* Eliminación de redundnacia temporal

» Muestreo regular de la imagen

» Dividir imagen con cuadriculado

» Procesar sólo áreas con cambios

* Eliminación de redundancia espacial» Comprimir y enviar áreas cambiadas

• Receptor:» Recibir unidad de datos (rectángulo)

» Descomprimir el rectángulo

» Actualizar la región de la imagen

Losses?

Page 32: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

32

Sobreponiendose a pérdidas

• Cada rectángulo es retransmitido después de un tiempo aleatorio

• Esto también ayuda a acomodar atrasados

Estudio de Desempeño* Cómo seleccionar la técnica de compresión? (JPEG, GIF, PNG?)

* Existe un tamaño de rectángulo óptimo? De qué depende?

* Cuán amenudo hacer el muestreo de la imagen a transmitir?

* Cómo comparar dos rectángulos eficientemente?

* Cuál es la máxima tasa de transmisión? De qué depende?

Outline

Page 33: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

33

Implementación y Resultados Experimentales

• Implementación:* Servicios de red: implementados

* Sincronización: implementada y usada en análisis “off-line”

* Control de turno: parcialmente implementado para recursos localizados

* Protocolo para transmisión de imágenes: implementado

• Una aplicación: Odust* Herramienta prototipo para compartir aplicaciones construida

sobre el módulo de software propuesto. Se usó:

* Soporte de red, control de turnos, transmisión de imágenes, otros módulos específicos para esta aplicación.

Odust

Page 34: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

34

MulticastNetwork

User: EduardoOS: WinNT

User: RodrigoOS: WinNT

User: AgustínOS: Solaris

User: CeciliaOS: Solaris

Odust Descripción

Architecture

Page 35: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

35

MulticastNetwork

User: EduardoOS: WinNT

User: RodrigoOS: WinNT

User: AgustínOS: Solaris

User: CeciliaOS: Solaris

Odust Descripción: Vista de Cecilia

Architecture

UNIX

Page 36: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

36

MulticastNetwork

User: EduardoOS: WinNT

User: RodrigoOS: WinNT

User: AgustínOS: Solaris

User: CeciliaOS: Solaris

Odust Descripción: Vista de Rodrigo

Architecture

WinNT

Page 37: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

37

MulticastNetwork

User: EduardoOS: WinNT

User: RodrigoOS: WinNT

User: AgustínOS: Solaris

User: CeciliaOS: Solaris

Odust Descripción: Vista de Eduardo

Architecture

WinNT

Page 38: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

38

MulticastNetwork

User: EduardoOS: WinNT

User: RodrigoOS: WinNT

User: AgustínOS: Solaris

User: CeciliaOS: Solaris

Odust Descripción: Vista de Agustín

Architecture

UNIX

Page 39: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

39

Odust Arquitectura

Capture andDynamic Compound

Image ProtocolSender

Dynamic CompoundImage Protocol

Receiver and Display

EventInjector Event

Capture

TokenManager

TokenClient

Application A

WinNT

NativeLibrary

Application A Receiver

Sharing Tool Receiver

Application A Sender

Sharing Tool Sender

ApplicationB’s View

ApplicationA’s View

JDesktop

Java VM

Mx Dx

Temporary TCPMulticast Method Invocation

c

a

d

e

g

b

f

h

i

j

k

l

mn

Outline

Page 40: Módulo de Software para Desarrollo de Aplicaciones Multimediales “A Semantic-based Middleware for Multimedia Collaborative Applications” Agustín J. González.

40

Conclusiones• Observamos la necesidad de un “middleware”

Requerimientos TradicionalesServicios Trad.

Aplicaciones Tradicionales

Tiempo RealEscalabilidadHeterogeneidad

Aplicaciones Multimediales

Middleware

• Trabajo Futuro* Adicionar más componentes

* Continuar la implementación

* Probar nuevas ideas ...

• Éste Ofrece:* Servicios multimediales de red* Sincronización* Control de turnos* Transmisión de imágenes

dinámicasOutline


Recommended