ELO-330: Programación de Sistemas
Tarea 2: Paquetes retrasados en Telefonía IP

Objetivos: En esta tarea usted aplicará: creación de procesos, manejo de señales, comunicación entre procesos usando pipes, envío de correo, e integración de servicios provistos por otras aplicaciones.

Introducción

 En aplicaciones multimedia, como telefonía en Internet, paquetes que llegan después del instante en que se debían reproducir se consideran perdidos. Para reducir el número de paquetes tardíos, el receptor estima un retardo de reproducción (tiempo desde que el paquete sale hasta que es reproducido) de manera que muy pocos paquetes lleguen atrasados. Esto se logra agregando una espera en memoria local (buffer). La idea es que el retardo de reproducción (desde que sale el paquete hasta que se reproduzca) no sea muy grande para mejorar la experiencia interactiva de nuestras conversaciones por Internet. Este estimador para el retardo de reproducción está compuesto de un estimador para el retardo en la red más N veces el estimador de la desviación estándar de ese retardo.

Estimador de retardo de reproducción cuando llega paquete i = Estimador Retardo al llegar paquete i + N* estimador de Desviación estándar cuando llega paquete i; N es entero = 1,2,3,4

Estimador de Retardo al llegar paquete i = di =  0.98*di-1 + 0.02*ri; donde ri es el retardo del paquete i y d0 =0;

Estimador de Desviación estándar cuando llega paquete i = vi = 0.75*vi-1 + 0.25* | ri - di |;   con v0=0;

Consideraremos que un paquete llega atrasado si su retardo ri es mayor al "Estimador de retardo de reproducción cuando éste llega".

En esta tarea simularemos el comportamiento temporal de datagramas viajando por Internet y analizaremos el efecto de éste la pérdida de paquetes por retraso cuando usamos los estimadores antes indicados. Los datagramas serán los generados por el comando ping el cual entrega el retardo de llegada. Su grupo explorará el efecto de cambiar la condición inicial d1 = ri y el efecto de usar N con valor 1,2,3 ó 4.

Nombre: par : pérdidas de audio por retraso.

Sintaxis: par   <servidor ping>  < servidor_smtp> <email> <autenticacion_codificada>

Servidor ping corresponde a la máquina que usaremos para enviar paquetes a intervalos regulares y los retornará con distintos retardos simulando el retardo Internet entre emisor y receptor.

Obs: para todos los casos usar servidor_smtp = smtp.gmail.com el puerto y protocolo son los mismos del programa visto en clases. El correo debe ser enviado a través de una cuenta gmail y con destinatario la misma cuenta gmail.

Descripción
   La ejecución del comando previo generará dos gráficos y enviará un correo. El primer gráfico retardo (RTT) y estimador versus número paquete (número de secuencia) mostrará los valores de RTT para cada uno de los paquetes enviados por ping, el estimador del retardo y el estimador para el retardo de reproducción.  Un segundo gráfico muestra el histograma para el retardo (RTT) frecuencia de paquetes versus retardo. Ambos gráficos serán actualizados cada 2 segundos. Cuando el usuario presione control-C el programa envía un correo con la siguiente tabla:
Paquetes atrasados según N en el estimador
N      % paquetes atrasados
1      xx
2      yy
3      zz
4      uu

Evaluación de la Tarea y qué entregar: revisar procedimiento de entrega y criterios usados para evaluar su trabajo. La tarea será revisada en servidor de oficina del profesor.

Recomendaciones
* Revise uso de octave y ejemplo para generar gráficos.
* Para envío de correos, revisar este ejemplo. Los datos para su ejecución pueden ser generados por este script.
* Haga su tarea de a poco y con tiempo. Con gusto atenderé todas sus preguntas en especial en clases y horas de atención!