Skip to content

S10: Comunicación multimedia (I)

Juan Gonzalez-Gomez edited this page Mar 26, 2019 · 54 revisions

Sesión 10: Comunicación multimedia (I)

  • Tiempo: 50min + 50min
  • Fecha: Martes, 26 de Marzo
  • Objetivos:
    • Aprender los principios básicos para poder transmitir información multimedia por Internet
    • Playout time

Contenido

Introducción

La información que está disponible en esta wiki es una guía para el profesor. Los contenidos se desarrollan más a fondo en las clases presenciales

Internet es una red especializada en el tráfico de datos. El problema a resolver es el siguiente: ¿Cómo enviar tráfico multimedia en redes concebidas para datos?

Aplicaciones multimedia

Las aplicaciones multimedia son especiales. Tienen unos requerimentos muy distintos al del tráfico de datos

Tráfico multimedia vs tráfico de datos

El tráfico multimedia está pensado para enviarse por redes multimedia, que tienen las siguientes características:

  • No se pueden congestionar. Típicamente realizan un control de la admisión. Si todos los recursos están ocupados no permiten acceder a más usuarios
  • Garantizan la calidad. Una vez que estás dentro, tienen garantizada una calidad mínima

Internet es una red especializada en el tráfico de datos, y como tal, NO tiene los mecanismos que requieren las aplicaciones multimedia: son redes que se pueden congestionar, no garantizan la calidad y no tienen control de admisión

El enfoque que se sigue es adaptar las aplicaciones incorporando todos los mecanismos posibles para minimizar el impacto de la red

Tipos de aplicaciones multimedia

Las aplicaciones multimedia las dividimos en dos grandes grupos:

  • Aplicaciones interactivas: (Video conferencias, voz sobre IP, etc...) Son bidireccionales. Los retardos tiene que ser muy pequeños. Son las más restricticas. Requesito de diseño: El retardo debe cumplir la siguiente condición: 150ms < Retardo < 450ms. NO puede haber interrupciones

  • Streamig: Reproducción en el receptor los contenidos multimedia emitidos desde el emisor. Los requisitos no son tan estrictos. Requisito de diseño: 1s < Retardo < 10s. No puede haber interrupciones

Aplicación Interactiva Streaming
Requisito diseño: 150ms < Retardo < 450ms 1s < Retardo < 10s
Interrupciones NO NO

Retardo: Tiempo desde que se emite hasta que se recibe. Está compuesto por el retardo de propagación (fijo) más el retardo de encolamiento (variable)

Internet

Modelo Best Effort

Internet es una red de datos, que sigue el model "Best effort". Esto significa que se hace el mejor esfuerzo posible para entregar los paquetes, pero NO* se garantiza la calidad del servicio

Si hay mucho tráfico, hay congestión y la calidad baja. No hay mecanismos de limitación del número de usuarios

Internet se modela como una red de colas. Es importante entender esto para compronder la naturaleza del los problemas con el tráfico multimedia

Modelo de colas

Internet se modela como una red de colas. Cada nodo intermedio funciona de la siguiente manera: Los paquetes que recibe los va metiendo en una cola. Si la cola está llena, los descarta (pérdidas). El tiempo desde que llega un paquete hasta que se envía se llama tiempo de encolamiento. Este tiempo depende del estado de las colas. Los paquetes llegarán con retardos diferentes debido al tiempo de encolamiento, y también porque ir por rutas diferentes

Analizando los problemas

Haremos ejemplos para enteder bien la naturaleza de los problemas. Partimos de un escenario en el que hay un emisor y receptores multimedia:

  • El emisor está constantemente enviando paquetes (tasa constante)
  • Todos los paquetes son iguales, de longitud fija (por ejemplo 20ms)
  • Queremos que la reproducción en destino sea continua (y no a saltos)
  • Supondremos que el retardo de propagación es 0 (los bytes llegan instantáneamente de un nodo a otro)

Ejemplo 1: Transmisión de un paquete

Tenemos la siguiente red:

El emisor envía un paquete al receptor, siguiendo la ruta que pasa por los nodos 1 y 3. Los tiempo de encolamiento en 1 y 3 son de 5ms (el mismo en ambos). Hacer el diagrama de tiempos de la comunicación y calcular el retardo

Ejercicio 1

Suponer que el paquete ahora va por la ruta 1 -> 2 -> 3, que los tiempos de encolamiento en 1 y 3 son iguales que en el ejemplo y el tiempo de encolamiento en 2 es de 1 ms. Hacer el diagrama de tiempos y calcular el nuevo retardo

Ejemplo 2: Transmisión de dos paquetes

La red que tenemos ahora es esta. Sólo hay un nodo intermedio entre el emisor y el receptor

El emisor envía dos paquetes seguidos y el tiempo de encolamiento en el nodo intermedio es de 2ms para ambos. Hacer el diagrama de tiempos y calcular el retardo

Los dos paquetes se reciben uno detras de otro (tasa constante). Esto es lo que ocurriría en una red determinista, en el que la ruta de los paquetes es conocida y los recursos se asignan en el inicio. La calidad queda garantizada

Sin embargo, NO es el caso de Internet, donde los tiempos de encolamiento son variables y no deterministas

Ejemplo 3: Transmisión de 2 paquetes. Diferentes tiempos de encolamiento

Veremos lo que sucede si ahora los tiempos de encolamiento en el nodo intermedio son diferentes. Supongamos que es de 1ms para el paquete 1 y de 2ms para el 2 (Antes de llegar el 2 al nodo, hay un pico de tráfico en ese nodo, y la cola ha aumentado)

Los dos paquetes salen uno detrás del otro en el receptor, pero debido a los tiempos de encolamiento variables NO llegan seguidos, sino que hay una interrupción entre medias. La reproducción en destino no puede ser continua. ¿Qué podemos hacer?

Tiempo de Playout

Se define el tiempo de playout (Playout time) como el que transcurre desde que se envía el primer paquete multimedia hasta que empieza su reproducción en el destino. El contenido multimedia tiene la característica de que una vez que se comienza su reproducción, hay que evitar los parones: todo debe fluir. Por ello hay que calcular adecuadamente este tiempo de playout para garantizar la máxima calidad

En el caso del ejemplo 2, el tiempo mínimo de playout es el mostrado en la siguiente figura:

Nada más recibir el paquete 1 se puede empezar a reproducir, dado que el segundo se está recibiendo de forma continua: no hay saltos. Este es el ejemplo de una red determinista, donde la calidad se puede garantizar

En una red como internet, los tiempos de encolamiento difieren, como en el ejemplo 3. En esos casos los paquetes no llegan de forma continua al receptor, por lo que la reproducción NO puede empezar en cuanto se reciba el paquete 1, sino que hay que almacenarno en un buffer hasta que se puede garantizar una reproducción continua. En este ejemplo se empieza a reproducir al comienzo de la recepción del paquete 2 (sería el tiempo de playout mínimo)

Si nos fijamos en la línea de reproducción, no hay saltos. Hemos conseguido solucionar el problema, introduciendo un buffer para retrasar la reproducción

Ejercicios

  • Ejercicio 2: Se tiene una red en la que entre el emisor y el receptor sólo hay un nodo. Se envían dos paquetes. Los paquetes son de 20ms. El tiempo de encolamiento del paquete 1 es de 2ms. El del paquete 2 de 30ms. ¿Cual es el tiempo de playout mínimo?

  • Ejercicio 3: Mismo escenario anterior. Los paquetes son de 10ms. El tiempo de encolamiento del paquete 1 es de 5ms y el del segundo de 20ms. ¿Cuál es el playout mínimo? Si tienes que programar la aplicación que se encargue de la reproducción, ¿Qué tiempo real de playout usarías?

Descargas

El rincón friki

TODO

Autor

Creditos

  • Creado a partir del contenido generado por el profesor Jose María Cañas y otros profesores del departamento GSYC

Licencia

Enlaces

Clone this wiki locally